private CacheDictionary(TryResolveValue tryResolveValue, ResolveValue resolveValue, IMinimalDictionary valuesContainer, IMinimalSet unsetValuesContainer) { this.tryResolveValue = tryResolveValue; this.resolveValue = resolveValue; this.values = valuesContainer; this.unsetValues = unsetValuesContainer; }
private CacheDictionary(TryResolveValue tryResolveValue, ResolveValue resolveValue) { this.tryResolveValue = tryResolveValue; this.resolveValue = resolveValue; dictionary = new Dictionary <TKey, TValue>(); unsetValues = new HashSet <TKey>(); }
private CacheDictionary(TryResolveValue tryResolveValue, ResolveValue resolveValue, IEqualityComparer <TKey> equalityComparer) { this.tryResolveValue = tryResolveValue; this.resolveValue = resolveValue; dictionary = new Dictionary <TKey, TValue>(equalityComparer); unsetValues = new HashSet <TKey>(); }
public CacheDictionary(ResolveValue resolveValue) : this(null, resolveValue) { // }
public static CacheDictionary <TKey, TValue> Create(ResolveValue resolveValue, IEqualityComparer <TKey> comparer = null) { return(new CacheDictionary <TKey, TValue>(null, resolveValue, new MinimalDictionary <TKey, TValue>(comparer), new MinimalSet <TKey>(comparer))); }
public static CacheDictionary <TKey, TValue> CreateUsingStringKeys(ResolveValue resolveValue, Func <TKey, string> getStringKey = null) { return(new CacheDictionary <TKey, TValue>(null, resolveValue, new ConvertedStringDictionary <TKey, TValue>(getStringKey), new ConvertedStringSet <TKey>(getStringKey))); }
public CacheDictionary(ResolveValue resolveValue, IEqualityComparer <TKey> equalityComparer = null) : this(null, resolveValue, equalityComparer) { // }