12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- using System;
- using System.Collections.Generic;
- using System.Runtime.InteropServices;
- using System.Linq;
- namespace Helper
- {
- public class ThreadSafeDictionary<TKey, TValue>
- {
- protected readonly Dictionary<TKey, TValue> _impl = new Dictionary<TKey, TValue>();
- public TValue this[TKey key]
- {
- get
- {
- lock (_impl)
- {
- return _impl[key];
- }
- }
- set
- {
- lock (_impl)
- {
- _impl[key] = value;
- }
- }
- }
- public void Add(TKey key, TValue value)
- {
- lock (_impl)
- {
- _impl.Add(key, value);
- }
- }
- public bool TryGetValue(TKey key, out TValue value)
- {
- lock (_impl)
- {
- return _impl.TryGetValue(key, out value);
- }
- }
- public bool Remove(TKey key)
- {
- lock (_impl)
- {
- return _impl.Remove(key);
- }
- }
- public void Clear()
- {
- lock (_impl)
- {
- _impl.Clear();
- }
- }
- }
- }
|