KeyedCollection<TKey, TItem> public abstract class KeyedCollection<TKey, TItem> : Collection<TItem> Documentation public IEqualityComparer<TKey> Comparer { get; } protected IDictionary<TKey, TItem> Dictionary { get; } public TItem this[TKey key] { get; } protected KeyedCollection() protected KeyedCollection(IEqualityComparer<TKey> comparer) protected KeyedCollection(IEqualityComparer<TKey> comparer, int dictionaryCreationThreshold) protected void ChangeItemKey(TItem item, TKey newKey) public bool Contains(TKey key) protected abstract TKey GetKeyForItem(TItem item) public bool Remove(TKey key)