public virtual TValue this[TKey key] { get { return(internalDictionary[key]); } set { TValue oldVal; if (internalDictionary.TryGetValue(key, out oldVal)) { DictionaryItemUpdateEventArgs <TKey, TValue> e = new DictionaryItemUpdateEventArgs <TKey, TValue>(key, oldVal, value); OnItemUpdating(e); internalDictionary[key] = value; OnItemUpdated(e); } else { Add(key, value); } } }
protected virtual void OnItemUpdated(DictionaryItemUpdateEventArgs <TKey, TValue> e) { SyncEvent.Invoke(ItemUpdated, this, e); }