懒得勤快 3 ani în urmă
părinte
comite
b73403c91e

+ 6 - 1
Masuit.Tools.Abstractions/Systems/DisposableConcurrentDictionary.cs

@@ -25,6 +25,11 @@ public class DisposableConcurrentDictionary<TKey, TValue> : NullableConcurrentDi
     {
     }
 
+    public DisposableConcurrentDictionary(TValue fallbackValue) : base()
+    {
+        FallbackValue = fallbackValue;
+    }
+
     public DisposableConcurrentDictionary(int concurrencyLevel, int capacity) : base(concurrencyLevel, capacity)
     {
     }
@@ -59,4 +64,4 @@ public class DisposableConcurrentDictionary<TKey, TValue> : NullableConcurrentDi
             s.Dispose();
         }
     }
-}
+}

+ 5 - 0
Masuit.Tools.Abstractions/Systems/DisposableDictionary.cs

@@ -40,6 +40,11 @@ public class DisposableDictionary<TKey, TValue> : NullableDictionary<TKey, TValu
     {
     }
 
+    public DisposableDictionary(TValue fallbackValue) : base()
+    {
+        FallbackValue = fallbackValue;
+    }
+
     public DisposableDictionary(int capacity) : base(capacity)
     {
     }

+ 10 - 5
Masuit.Tools.Abstractions/Systems/NullableConcurrentDictionary.cs

@@ -14,6 +14,11 @@ public class NullableConcurrentDictionary<TKey, TValue> : ConcurrentDictionary<N
     {
     }
 
+    public NullableConcurrentDictionary(TValue fallbackValue) : base()
+    {
+        FallbackValue = fallbackValue;
+    }
+
     public NullableConcurrentDictionary(int concurrencyLevel, int capacity) : base(concurrencyLevel, capacity)
     {
     }
@@ -30,11 +35,11 @@ public class NullableConcurrentDictionary<TKey, TValue> : ConcurrentDictionary<N
         set => base[key] = value;
     }
 
-    public virtual TValue this[TKey key]
-    {
-        get => TryGetValue(key, out var value) ? value : FallbackValue;
-        set => base[key] = value;
-    }
+    //public virtual TValue this[TKey key]
+    //{
+    //    get => TryGetValue(key, out var value) ? value : FallbackValue;
+    //    set => base[key] = value;
+    //}
 
     /// <summary>
     /// 隐式转换

+ 14 - 9
Masuit.Tools.Abstractions/Systems/NullableDictionary.cs

@@ -14,6 +14,11 @@ public class NullableDictionary<TKey, TValue> : Dictionary<NullObject<TKey>, TVa
     {
     }
 
+    public NullableDictionary(TValue fallbackValue) : base()
+    {
+        FallbackValue = fallbackValue;
+    }
+
     public NullableDictionary(int capacity) : base(capacity)
     {
     }
@@ -46,15 +51,15 @@ public class NullableDictionary<TKey, TValue> : Dictionary<NullObject<TKey>, TVa
         set => base[key] = value;
     }
 
-    /// <summary>
-    ///
-    /// </summary>
-    /// <param name="key"></param>
-    public virtual TValue this[TKey key]
-    {
-        get => TryGetValue(key, out var value) ? value : FallbackValue;
-        set => base[key] = value;
-    }
+    ///// <summary>
+    /////
+    ///// </summary>
+    ///// <param name="key"></param>
+    //public virtual TValue this[TKey key]
+    //{
+    //    get => TryGetValue(key, out var value) ? value : FallbackValue;
+    //    set => base[key] = value;
+    //}
 
     /// <summary>
     /// 隐式转换