System.Collections.Generic.SynchronizedKeyedCollection<K, T> public abstract class SynchronizedKeyedCollection<K, T> : SynchronizedCollection<T> Documentation Code protected IDictionary<K, T> Dictionary { get; } public T this[K key] { get; } protected SynchronizedKeyedCollection() protected SynchronizedKeyedCollection(object syncRoot) protected SynchronizedKeyedCollection(object syncRoot, IEqualityComparer<K> comparer) protected SynchronizedKeyedCollection(object syncRoot, IEqualityComparer<K> comparer, int dictionaryCreationThreshold) protected void ChangeItemKey(T item, K newKey) public bool Contains(K key) protected abstract K GetKeyForItem(T item) public bool Remove(K key)