2017-05-17 33 views
-1

我得到'objType' is a variable but is used like a type编译器错误,当我尝试下面的代码:将泛型使用完全合格的类名称与思考

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

如何传递我从完全合格的类名获取到的类型DeserializeObject方法?

回答

0

有一个DeserializeObject()的非通用版本,它将Type的实例作为参数。通用版本最终会调用这个非泛型方法,所以结果应该是一样的。

Reference

需要注意的是,如果这样的方法没有用,你仍然可以使用反射调用通用版本(编译动态方法来提高性能,如果需要的话)。

+0

感谢您指出非泛型方法,我会使用它。你能否提供一个例子,说明如果可能的话我将能够调用通用版本? –

+0

Check out http://stackoverflow.com/questions/232535/how-do-i-use-reflection-to-call-a-generic-method –