我想在运行时反序列化一个对象,并且无法在不实际传入模型类型的情况下确定如何传入该类型。
E.g。
JsonConvert.DeserialzeObject(objectToDeserialize);
我希望能够做到这样的事情:
Type runtimeType = Type.GetType("namespace_and_class_name");
var result = JsonConvert.DeserializeObject<runtimeType>(objectToDeserialize);
或类似的东西:
var result = JsonConvert.DeserializeObject<Type.GetType(stringOfType)>(objectToDeserialize);
答案 0 :(得分:3)
改为使用this other overload:
object result = JsonConvert.DeserializeObject(json, type);
请记住,因为在编译时不知道类型,所以代码不再是通用的。您必须改为使用object
。