使用完全合格的类名称和反射传递通用类型

时间:2017-05-17 01:02:31

标签: c#

尝试以下代码时出现'objType' is a variable but is used like a type编译器错误:

Type objType = Type.GetType(objFullyQualifiedName);
object jsonObj= JsonConvert.DeserializeObject<objType> (jsonString);

如何将我从完全限定类名中获得的类型传递给DeserializeObject方法?

1 个答案:

答案 0 :(得分:0)

DeserializeObject()的非泛型版本,它将Type的实例作为参数。通用版本最终称为非泛型方法,因此结果应该相同。

Reference

请注意,如果这样的方法不可用,您仍然可以使用反射调用泛型版本(如果需要,编译动态方法以提高性能)。