我需要传一个字符串反序列化:
Type _type = Assemblie.GetType("Calculator"); object _instance = Activator.CreateInstance(_type); var obj2 = Newtonsoft.Json.JsonConvert.DeserializeObject<_instance>(jsonstring);
错误:
“_instance”是 变量,但此处被当做 类型 来使用
应该如何实现呀?_instance这个参数怎么传入?
反序列化为什么要自己创建实例? 把Type传进去就会自己创建实例
object obj = Newtonsoft.Json.JsonConvert.DeserializeObject(jsonstring, _type);
泛型参数要直接填类型, 类似于这样
var obj = Newtonsoft.Json.JsonConvert.DeserializeObject<Calculator>(jsonstring);
var obj2 = (Calculator)Newtonsoft.Json.JsonConvert.DeserializeObject<Calculator>(jsonstring);
Calculator是泛型的,可以理解成T,我这里是举例,传入的是一个字符串,通过反射得到它的实例
看不懂
var obj2 = Newtonsoft.Json.JsonConvert.DeserializeObject<Calculator>(jsonstring);
我也遇到这个问题了,请问您怎么解决的呀?