2017-05-17 59 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 –