<PackageReference Include="System.ServiceModel.Primitives" Version="8.0.0" />

System.Collections.Generic.SynchronizedKeyedCollection<K, T>

public abstract class SynchronizedKeyedCollection<K, T> : SynchronizedCollection<T>
protected IDictionary<K, T> Dictionary { get; }

public T this[K key] { get; }

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)