找不到方法,我開始認爲這是不可能的,但以防萬一我會在這裏問。通用類型的泛型類訪問類型參數
更好地解釋代碼..
我有這個通用類的定義,我想能夠訪問List
的類型參數,所以我可以定義接受字符串的GenericClassOfGenericType
的方法(取自列表的類型參數)
//class definition
public class GenericClassOfGenericType<TGeneric>{ }
var instance = new GenericClassOfGenericType<List<string>>();
我試過類似的東西;
public class GenericClassOfGenericType<TGeneric<TValue>> {
public void ProxyAdd(TValue value){ }
}
但是,這並不工作,無法找到谷歌類似的事情。
我可以在GenericClassOfGenericType
中添加第二個類型定義,並在構造函數中添加一個驗證器,以確保泛型列表具有第二個類型作爲類型參數,但它根本感覺不太好。
[編輯] 也找不到一個約束,迫使你指定一個泛型類型作爲參數(有意義的泛型也是強類型,但它使我認爲這是不可能的)。
有什麼特別的原因,你需要指定它的「清單」的一部分?爲什麼不只是'GenericClassOfGenericType'?讓它處理它需要的任何「List 」的內部結構。我的意思是,你希望傳入List的某個子類或者'ICollection'或'IList'的不同實現嗎? –