2011-05-13 57 views
-1

這裏的代碼,型C#問題投

Type tbn = Type.GetType(dii.DictionaryName); 
DictionaryXmlInfo4BaseDictionary<tbn>.AddDictionaryXmlInfo((message));//error 
+3

什麼是信息? –

+0

什麼是錯誤,你的問題是什麼? – Flynn1179

+0

什麼問題?什麼類型的消息? – ZoolWay

回答

5

不能使用這樣的仿製藥。泛型旨在用於已知類型編譯時間

可以與反思這樣做 - 讓通用DictionaryXmlInfo4BaseDictionary類型定義,使用Type.MakeGenericType創建封閉式,然後通過反射再次調用它AddDictionaryXmlInfo ...但它比較痛苦。

1

您不能將泛型與僅在運行時已知的類型一起使用。 DictionaryXmlInfo4BaseDictionary<T>類型是通用的,如果要使用它,則需要在編譯時知道T參數。

0

您不能使用某個類型的實例作爲通用參數。

泛型參數應該是無論基本實例是什麼,DictionaryXmlInfo4BaseDictionary<object>在最通用的情況下,但您可能想要的東西進一步下面的類層次結構比。

0

您不能以這種方式使用Type,重構DictionaryXmlInfo4BaseDictionary因此它需要一個Type參數作爲方法的一部分,例如,

DictionaryXmlInfo4BaseDictionary.AddDictionaryXmlInfo(tbn, message);