wasSharp
/Collections/Specialized/ConcurrentMultiKeyDictionary.cs/MultiKeyDictionary.cs |
@@ -11,7 +11,7 @@ |
|
namespace wasSharp.Collections.Specialized |
{ |
public class MultiKeyDictionary<K1, K2, V> : Dictionary<K1, Dictionary<K2, V>> |
public class ConcurrentMultiKeyDictionary<K1, K2, V> : Dictionary<K1, Dictionary<K2, V>> |
{ |
private readonly ReaderWriterLockSlim _lock = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion); |
|
@@ -133,7 +133,7 @@ |
} |
} |
|
public class MultiKeyDictionary<K1, K2, K3, V> : Dictionary<K1, MultiKeyDictionary<K2, K3, V>> |
public class MultiKeyDictionary<K1, K2, K3, V> : Dictionary<K1, ConcurrentMultiKeyDictionary<K2, K3, V>> |
{ |
private readonly ReaderWriterLockSlim _lock = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion); |
|
@@ -157,7 +157,7 @@ |
try |
{ |
if (!ContainsKey(key1)) |
this[key1] = new MultiKeyDictionary<K2, K3, V>(); |
this[key1] = new ConcurrentMultiKeyDictionary<K2, K3, V>(); |
|
this[key1][key2, key3] = value; |
} |
@@ -187,7 +187,7 @@ |
try |
{ |
if (!ContainsKey(key1)) |
this[key1] = new MultiKeyDictionary<K2, K3, V>(); |
this[key1] = new ConcurrentMultiKeyDictionary<K2, K3, V>(); |
this[key1][key2, key3] = value; |
} |
finally |