SetPropertyValue 给对象的属性赋值
SetPropertyValue 给对象的属性赋值
C# Code: /// <summary> /// 给对象的属性赋值 /// </summary> /// <param name="instance">对象实例</param> /// <param name="prop">对象实例的属性信息</param> /// <param name="value">其他对象属性的值</param> public static void SetPropertyValue(object instance, PropertyInfo prop, object value) { try { if (prop == null) return; if (prop.PropertyType.IsArray)//数组类型,单独处理 { if (value == DBNull.Value)//特殊处理DBNull类型 prop.SetValue(instance, null, null); else prop.SetValue(instance, value, null); } else { if (value == null || String.IsNullOrWhiteSpace(value.ToString()))//空值 value = prop.PropertyType.IsValueType ? Activator.CreateInstance(prop.PropertyType) : null;//值类型 else value = System.ComponentModel.TypeDescriptor.GetConverter(prop.PropertyType).ConvertFromString(value.ToString());//创建对象 prop.SetValue(instance, value, null); } } catch (Exception ex) //报错在此跟踪 { } } //来源:C/S框架网 | www.csframework.com | QQ:23404761
参考文档:
C#.Net组件开发 - 设计时使用自定义属性编辑器持久化对象 标签:C#.Net组件开发 - 自定义设计器持久化对象的属性 标签:C#.Net组件开发 - 自定义属性编辑器持久化对象的属性 C# 给绑定数据源的文本框.Text属性赋值,但没有保存数据 对象的属性若使用get;set;访问器没有指定成员变量,代码混淆后会丢失数据 C#.NET扩展的动态对象支持动态属性和方法以及Json格式与对象互转 C#.NET 定义动态对象dynamic以及属性和方法 通过.NET反射动态调用SetValue方法给属性PropertyInfo赋值 给绑定数据源的文本输入框TextEdit.Text或EditValue属性赋值,失去焦点文本自动清空了 C# LINQ使用Distinct方法检查对象某个属性的值是否重复 C# Model对象实例转换为URL网址参数Param形式 IDatabase.ExecuteReader返回对象列表Func泛型函数的使用方法 C# 定义类的属性名称与VS 保留关键字标识符冲突解决方案 WebApi返回的ModelResponse对象的Data属性的数据加密或不加密 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内容管理系统 | |