类的属性取值与赋值
2013-05-10 11:24
127 查看
/// <summary> /// 从类的属性中获取属性值 /// </summary> /// <param name="p_Instance">属性的容器</param> /// <param name="p_PropertyName">属性名</param> /// <param name="blThrowException">是否抛出异常</param> /// <returns></returns> public static object GetPropertyValue(object p_Instance, string p_PropertyName, bool blThrowException) { Type MyType = p_Instance.GetType(); PropertyInfo pi = MyType.GetProperty(p_PropertyName); if (blThrowException) { if (pi == null) { throw new Exception("在类:[" + MyType.FullName + "] 中不存在属性名为:[" + p_PropertyName + "] 的属性"); } return pi.GetValue(p_Instance, null); } if (pi == null) { return null; } return pi.GetValue(p_Instance, null); }
/// <summary> /// 设置类的属性值 /// </summary> /// <param name="p_Instance"></param> /// <param name="p_PropertyName"></param> /// <param name="p_Value"></param> public static void SetPropertyValue(object p_Instance, string p_PropertyName, object p_Value) { Type MyType = p_Instance.GetType(); PropertyInfo pi = MyType.GetProperty(p_PropertyName); if (pi == null) { throw new Exception("在类:[" + MyType.FullName + "] 中不存在属性名为:[" + p_PropertyName + "] 的属性"); } if (pi.CanWrite) { switch (pi.PropertyType.FullName) { case "System.Int32": pi.SetValue(p_Instance, StringToInt(ObjectToNullStr(p_Value)), null); break; case "System.DateTime": pi.SetValue(p_Instance, StringToDate(ObjectToNullStr(p_Value)), null); break; default: pi.SetValue(p_Instance, p_Value, null); break; } } }
相关文章推荐
- 反射应用之一:根据控件名、属性名进行取值和赋值
- Python:高级主题之(属性取值和赋值过程、属性描述符、装饰器)
- java通过封装编写Book类。要求:类具有属性书名、书号、主编、出版社、出版时间、页数、价格,其中页数不能少于200页,否则输出错误信息,并强制赋默认值200;为各属性设置赋值和取值方法;具有方法d
- 利用反射给对象中的某个属性赋值或取值
- 晚绑定场景下对象属性赋值和取值可以不需要PropertyInfo
- JQuery里属性赋值,取值prop()和attr()方法?
- 根据控件名、属性名进行取值和赋值
- Python:高级主题之(属性取值和赋值过程、属性描述符、装饰器)
- 一起谈.NET技术,晚绑定场景下对象属性赋值和取值可以不需要PropertyInfo
- java中遍历实体类属性和类型、赋值和取值
- 黑马程序员 WPF中DataGrid的ItemsSource属性的赋值和取值的差异
- 属性取值、赋值点与中括号操作符的区别
- 反射应用之一:根据控件名、属性名进行取值和赋值
- java--静态属性和非静态属性的赋值与取值
- Python:高级主题之(属性取值和赋值过程、属性描述符、装饰器)
- 关于在Java使用反射对属性取值和赋值的性能问题。
- 晚绑定场景下对象属性赋值和取值可以不需要Pro“.NET技术”pertyInfo
- 利用反射对对象属性赋值取值操作
- 反射应用之一:根据控件名、属性名进行取值和赋值
- 自定义下拉框,并取值赋值,属性 text()