我想知道System.Collections.Generic中的哪个集合类型将支持这种情况,如果有的话:
Public Class MyCollectionBase(Of ItemType, KeyType)
Inherits System.Collection.Generic.???
Default Public Shadows ReadOnly Property Item(ByVal key as KeyType) as ItemType
Get
....
End Get
End Property
End Class
过去,我使用继承System.Configuration.ConfigurationElementType的Configuration对象的这种行为,如下所示:
Default Public Shadows ReadOnly Property Item(ByVal id As String) As Element
Get
Return CType(BaseGet(id), Element)
End Get
End Property
在这种情况下,我的集合与配置无关,我需要元素是通用的,以及元素键/ ID。
提前致谢。
编辑:接受乔尔的回答。我觉得自己像个白痴。出于某种原因,我坚持认为我想坚持使用不是IDictionary的ICollection实现,这可能是因为我正在重构原本打算与NHibernate映射一起使用的类。当然是字典。如果有人需要我,我会躲在角落里。答案 0 :(得分:4)
词典?
答案 1 :(得分:0)
看起来像
Dictionary<TKey, ItemType>
是必需的。
答案 2 :(得分:0)
看起来Dictionary<TKey, TValue>
肯定是你想要的。我还强烈建议你重新排序你的类型参数 - 非常每个字典/地图/我用键和值类型参数看到的任何东西都把键类型参数放在第一位。
答案 3 :(得分:0)
您正在寻找System.Collections.Generic.Dictionary