哪个.Net Framework通用集合类型将允许/提供此(密钥)功能?

时间:2009-04-17 14:04:27

标签: .net vb.net generics collections

我想知道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映射一起使用的类。当然是字典。如果有人需要我,我会躲在角落里。

4 个答案:

答案 0 :(得分:4)

词典?

答案 1 :(得分:0)

看起来像

Dictionary<TKey, ItemType>

是必需的。

答案 2 :(得分:0)

看起来Dictionary<TKey, TValue>肯定是你想要的。我还强烈建议你重新排序你的类型参数 - 非常每个字典/地图/我用键和值类型参数看到的任何东西都把键类型参数放在第一位。

答案 3 :(得分:0)

您正在寻找System.Collections.Generic.Dictionary