public virtual void Add(KeyValuePair <TKey, TValue> item) { DictionaryItemChangeEventArgs <TKey, TValue> e = new DictionaryItemChangeEventArgs <TKey, TValue>(item.Key, item.Value); OnItemAdding(e); internalDictionary.Add(item); OnItemAdded(e); }
public virtual void Add(TKey key, TValue value) { DictionaryItemChangeEventArgs <TKey, TValue> e = new DictionaryItemChangeEventArgs <TKey, TValue>(key, value); OnItemAdding(e); internalDictionary.Add(key, value); OnItemAdded(e); }
public virtual bool Remove(KeyValuePair <TKey, TValue> item) { if (internalDictionary.Contains(item)) { DictionaryItemChangeEventArgs <TKey, TValue> e = new DictionaryItemChangeEventArgs <TKey, TValue>(item.Key, item.Value); OnItemRemoving(e); #if DEBUG Debug.Assert(internalDictionary.Remove(item)); #else internalDictionary.Remove(item); #endif OnItemRemoved(e); return(true); } return(false); }
public virtual bool Remove(TKey key) { if (internalDictionary.ContainsKey(key)) { DictionaryItemChangeEventArgs <TKey, TValue> e = new DictionaryItemChangeEventArgs <TKey, TValue>(key, internalDictionary[key]); OnItemRemoving(e); #if DEBUG Debug.Assert(internalDictionary.Remove(key)); #else internalDictionary.Remove(key); #endif OnItemRemoved(e); return(true); } return(false); }
protected virtual void OnItemRemoved(DictionaryItemChangeEventArgs <TKey, TValue> e) { SyncEvent.Invoke(ItemRemoved, this, e); }