37 lines
887 B
C#
37 lines
887 B
C#
//http://fastjson.codeplex.com/
|
|
//http://fastjson.codeplex.com/license
|
|
|
|
using System.Collections.Generic;
|
|
|
|
namespace Exceptron.Client.fastJSON
|
|
{
|
|
internal class SafeDictionary<TKey, TValue>
|
|
{
|
|
private readonly object _Padlock = new object();
|
|
private readonly Dictionary<TKey, TValue> _Dictionary = new Dictionary<TKey, TValue>();
|
|
|
|
|
|
internal bool TryGetValue(TKey key, out TValue value)
|
|
{
|
|
return _Dictionary.TryGetValue(key, out value);
|
|
}
|
|
|
|
internal TValue this[TKey key]
|
|
{
|
|
get
|
|
{
|
|
return _Dictionary[key];
|
|
}
|
|
}
|
|
|
|
internal void Add(TKey key, TValue value)
|
|
{
|
|
lock (_Padlock)
|
|
{
|
|
if (_Dictionary.ContainsKey(key) == false)
|
|
_Dictionary.Add(key, value);
|
|
}
|
|
}
|
|
}
|
|
}
|