我想要一個字典,從一個通用類型K<T>
映射到另一個通用類型V<T>
。請注意,在兩種情況下,類型T
都應該相同。所以我想我會創建一個Dictionary<K,V>
派生類與一個更多的類型參數,但我找不到正確的語法。語法:派生類型,嵌套泛型
這是我的嘗試:
1.
class MyDictionary<T,K,V> : Dictionary<K<T>,V<T>> { ... }
// syntax error: The type parameter K cannot be used with type arguments.
// (same with V)
2.
class MyDictionary<T,K<T>,V<T>> : Dictionary<K,V> { ... }
// many syntax errors: "," expected; "{" expected; ...
3.
class MyDictionary<T,K,V> : Dictionary<K,V> { ... }
// works, but does not make the connection between K and T and between V and T
也許我可以使用一些where子句?
更好地理解一些例子:
MyDictionary<int,List,HashSet>
主要應Dictionary<List<int>,HashSet<int>>
。
MyDictionary<float,Queue,Stack>
本質上應該是Dictionary<Queue<float>, Stack<float>>
。
你的K是不同的類型。你的V也是。 –
@ Dennis_E不,我的一個「K's」是一個類型,另一個是泛型類型參數。我的「V's」也是如此。編輯前請參考原始問題。 – decPL
「不,我的一個」K's「是一個類型,另一個是泛型類型參數。」我正是這個意思。你用K和V來做兩件不同的事情,這太可怕了。但是因爲編輯而刪除了-1。 –