public bool ContainsKey(TKey key) { using (Lock.CreateReaderScope()) { return(Target.ContainsKey(key)); } }
public IEnumerator <KeyValuePair <TKey, TValue> > GetEnumerator() { using (Lock.CreateReaderScope()) { return(Target.ToList().GetEnumerator()); } }
public void CopyTo(KeyValuePair <TKey, TValue>[] array, int arrayIndex) { using (Lock.CreateReaderScope()) { Target.CopyTo(array, arrayIndex); } }
public bool Contains(KeyValuePair <TKey, TValue> item) { using (Lock.CreateReaderScope()) { return(Target.Contains(item)); } }
public bool TryGetValue(TKey key, out TValue value) { TValue tempValue = default(TValue); using (Lock.CreateReaderScope()) { bool found = Target.TryGetValue(key, out tempValue); value = tempValue; return(found); } }
public TValue this[TKey key] { get { using (Lock.CreateReaderScope()) { return(Target[key]); } } set { using (Lock.CreateWriterScope()) { Target[key] = value; } } }