C# 数字类型属性的值=0,设置为null值
C# 数字类型属性的值=0,设置为null值
C# 数字类型属性的值=0,设置为null值,该方法仅支持泛型的属性。 C# Code: /// <summary> /// 若数字类型的属性=0,设置为null值 /// </summary> /// <param name="obj"></param> public static void SetNumericNull(object obj) { //数字类型 var types = new List<Type>() { typeof(Int16), typeof(Int32), typeof(Int64), typeof(Int128), typeof(Double), typeof(Decimal), typeof(float), }; Type tmp; Object value; var ps = obj.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public); foreach (PropertyInfo p in ps) { //泛型属性:判断泛型参数>0 if (p.PropertyType.GenericTypeArguments.Length > 0) { tmp = p.PropertyType.GenericTypeArguments[0]; value = p.GetValue(obj); if (tmp.IsValueType && types.Contains(tmp) && value != null && value.ToString() == "0") { p.SetValue(obj, null); } } } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 测试 C# Code: public class TTestModel { public int Qty { get; set; } public decimal Price { get; set; } public int? Qty1 { get; set; } public decimal? Price1 { get; set; } public decimal Amount { get; set; } public decimal? Amount1 { get; set; } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 扫一扫加作者微信
参考文档:
C#使用DataBindings属性绑定不同类型的数据源 C#.Net String类型Null与String.Empty有什么区别? 标签:C#.Net组件开发 - 属性窗体内显示自定义名称 C#编码直接调用WCF服务时协议参数设置 WCF:ServiceDebugBehavior.IncludeExceptionDetailInFaults 属性设置 C#设置Windows启动项 C# 同步工作站与SQL服务器的时间,设置本机时间 C# Winform 按回车键查找下一个可设置焦点的组件 使用Dock.Fill控件被遮挡解决方法(将被遮挡的组件设置为顶层既可解决) C# 取真实的文件类型 C# 给绑定数据源的文本框.Text属性赋值,但没有保存数据 TextEdit.Properties.NullValuePrompt属性可设置灰色提示信息 C#.NET史上最全字符串加密/解密/数字签名工具(CryptoHelper.cs) C# get和set访问器:获取和设置字段(属性)的值 C# 设置文件目录只读属性,取消只读属性
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |