Мне интересно, какой тип коллекции в 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, например:
Default Public Shadows ReadOnly Property Item(ByVal id As String) As Element
Get
Return CType(BaseGet(id), Element)
End Get
End Property
В этом случае, однако, мои коллекции не имеют ничего общего с конфигурацией, и мне нужно, чтобы элементы были общими, а также ключ элемента / ID.
Заранее спасибо.
РЕДАКТИРОВАТЬ: Принятие ответа Джоэла. Я чувствую себя идиотом. По какой-то причине я был привязан к идее, что хотел придерживаться реализации ICollection, которая не была IDictionary, возможно, потому что я рефакторинг классов, которые изначально предназначались для использования с отображениями NHibernate. Словарь это, конечно. Я буду прятаться в углу, если я кому-нибудь понадоблюсь.