예제 #1
0
 private CacheDictionary(TryResolveValue tryResolveValue, ResolveValue resolveValue, IMinimalDictionary valuesContainer, IMinimalSet unsetValuesContainer)
 {
     this.tryResolveValue = tryResolveValue;
     this.resolveValue    = resolveValue;
     this.values          = valuesContainer;
     this.unsetValues     = unsetValuesContainer;
 }
예제 #2
0
        private CacheDictionary(TryResolveValue tryResolveValue, ResolveValue resolveValue)
        {
            this.tryResolveValue = tryResolveValue;
            this.resolveValue    = resolveValue;

            dictionary  = new Dictionary <TKey, TValue>();
            unsetValues = new HashSet <TKey>();
        }
예제 #3
0
        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>();
        }
예제 #4
0
 public CacheDictionary(ResolveValue resolveValue) :
     this(null, resolveValue)
 {
     //
 }
예제 #5
0
 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)));
 }
예제 #6
0
 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)));
 }
예제 #7
0
 public CacheDictionary(ResolveValue resolveValue, IEqualityComparer <TKey> equalityComparer = null) :
     this(null, resolveValue, equalityComparer)
 {
     //
 }