如何通过变量方法传入类型?

时间:2016-02-18 15:26:30

标签: c# asp.net object types

我想在运行时反序列化一个对象,并且无法在不实际传入模型类型的情况下确定如何传入该类型。

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);

1 个答案:

答案 0 :(得分:3)

改为使用this other overload

object result = JsonConvert.DeserializeObject(json, type);

请记住,因为在编译时不知道类型,所以代码不再是通用的。您必须改为使用object