Json反序列死循环,反射SetValue()类型Nullable填坑

var strJson={"name":"123" };  //原始json字符

var data=JsonConvert.DeserializeObject<DataTable>(strJson); //反序列化死循环,导致内存泄露

//解决办法

//原始strJson改为  
var strJson="[{"name":"123" }]";  //重点加上[] ,即可反序列成功

//反射,SetValue()遇见int?即(Nullable<T>) 类型转换失败的解决办法

GetProperty("name").SetValue(“反射的对象”,Convert.ChangeType(“值”,(Nullable.GetUnderlyingType(propertyInfo.PropertyType))??propertyInfo.PropertyType), null)

 

上一篇:c – 为什么LLVM的Optional以这种方式实现?


下一篇:OpenCV常用基本处理函数(3)