我想實現一個MultiDictionary:一個字典,其中包含每個鍵中的列表。可以在字典繼承類中重新定義索引器嗎?
我希望能夠使用除了賦值運算符和索引將元素添加到字典:
myMultiDictionary[key] += elementToAdd;
我首先創建從名單繼承的自定義AddableList和重載+
和-
讓我使用加法賦值運算符:
myAddableList += elementToAdd;
MultiDicti onary然後是一個簡單的繼承Dictionary<keyType, AddableList<contentType>>
。
我在索引器有問題。我希望保持字典繼承使用O(1)字典密鑰的性能。但是,我必須將索引器重新定義爲:
- 如果我創建一個新密鑰,則創建一個空列表;
- 如果刪除列表中的所有元素,則刪除一個鍵。
繼承對於已經定義了索引器的類是如何工作的? 我的新索引器是否會覆蓋字典中定義的所有訪問方法?
「繼承構成」 - 我不應該忘記這一點。這是一個很好的解決方案,非常感謝。 – Queder