反射赋值 比如 int?
来源:互联网 发布:墨子号 知乎 编辑:程序博客网 时间:2024/05/02 04:27
定义一个类
public class P { public int Age { get; set; } }
反射赋值时:
PropertyInfo pi = p.GetType().GetProperties()[0]; Type piType = pi.PropertyType; object value; value = Convert.ChangeType("1", pi.PropertyType, null); pi.SetValue(p, value, null);这样 OK
但是如果 将P中的属性 Age 改变
public class P { public int? Age { get; set; } }此时会报错!!!!!!!
解决办法:
value = Convert.ChangeType(a, (Nullable.GetUnderlyingType(piType) ?? piType));
注意: 此时 piType 是 pi.PropertyType
0 0
- 反射赋值 比如 int?
- 枚举enum 赋值 int
- java反射(4)反射赋值
- 反射为Constructor赋值
- 反射 界面控件赋值
- 反射给javabean赋值
- int类型赋值INT_MIN(-2147483648)
- Integer 与int 赋值比较
- 对常用术语进一步理解,比如赋值(assignment)
- 运用反射给实体赋值
- C#反射给字段赋值
- 使用反射给vo赋值
- 通过反射给bean赋值
- 字符串和int赋值的错误
- Integer 为空赋值给int
- 再论int变量赋值的原子性
- int、short、char 类型超出范围赋值
- 关于char型赋值给int型
- 互联网的优势是创出来的
- Android SD卡 路径问题以及如何获取SDCard 内存
- 软件开发二三事
- git各种问题
- Java并发与多线程教程(3)
- 反射赋值 比如 int?
- 求职面试
- android返回按键触摸监听
- java synchronized详解
- R-文本处理-分词
- 求最大递增数
- CountLetterInArray
- HDU2089 不要62
- hdu 1102 Constructing Roads 最小生成树