3
的我試圖從Dictionary<K,V>
繼承,但我的問題是,正在查詢的Dictionary.Keys的時候,我想覆蓋它們。 (即KeyCollection)的字典。重寫字典<K,V> .KeyCollection
這怎麼解決?
感謝
的我試圖從Dictionary<K,V>
繼承,但我的問題是,正在查詢的Dictionary.Keys的時候,我想覆蓋它們。 (即KeyCollection)的字典。重寫字典<K,V> .KeyCollection
這怎麼解決?
感謝
Dictionary<K,V>
和
IDictionary<K,V>
。或
public new YourType Keys
{
get
{
return yourVersion;
}
}
注:
IDictionary<K,V>.Keys
有類型ICollection<Key>
Dictionary<K,V>.Keys
的類型爲Dictionary<K, V>.KeyCollection
但它的標記爲sealed
,所以你將無法繼承它,所以選項1似乎更現實。
我** **絕對推薦你第一個選項(封裝'字典'和'實現的IDictionary '),否則,當你投你的字典的IDictionary''你會發現,你的'Keys'財產由於使用'new'關鍵字而被忽略。 –
Justin