public DictionarySlim(IReadOnlyIndexed <TKey, TValue> other, TComparer comparer) : this(other.Count, comparer) { foreach (var pair in other) { AddOrReplace(pair.Key, pair.Value); } }
public ObservableIndex(TComparer comparer, IReadOnlyIndexed <TKey, TValue> outer = null) { _inner = outer != null ? new DictionarySlim <TKey, TValue, TComparer>(outer, comparer) : new DictionarySlim <TKey, TValue, TComparer>(comparer); _observers = new WeakCollection <IObserver <ObservableEvent <TValue> > >(); if (outer is IObservable <ObservableEvent <TValue> > observableDictionary) { observableDictionary.Subscribe(this); } }
public static TValue Optional <TKey, TValue>(this IReadOnlyIndexed <TKey, TValue> indexed, in TKey key)
public CascadeIndex(TComparer comparer) { Outer = null; _inner = new DictionarySlim <TKey, TValue, TComparer>(comparer); }