我有一個關於.net泛型的問題。請看下面的代碼:使用泛型從其他泛型參數
public abstract class Test<TKey>
{
TKey Key { get; set; }
}
public class Wrapper<TValue, TKey>
where TValue : Test<TKey>
{
public TValue Value { get; set; }
}
現在,使用此代碼時,我可以做這樣的事情:
Wrapper<Test<int>, int> wrapper = new Wrapper<Test<int>, int>();
int類型參數必須要提供兩次。是否可以修改Wrapper定義,要求TValue是一個泛型類型,並使用TKey類型參數中嵌套的泛型類型參數?
可以測試''可能是'SomethingInheritingFromTest '呢?如果是這種情況,我沒有看到指定類型參數的方法,因爲你沒有類型,你可以提供相同的'T',因爲你不知道它是什麼,即使你創建了一個基地/包裝...更聰明的通用傢伙在這裏比我雖然,希望有人教我:) –
2010-06-05 21:48:24