/// <summary> /// Unregister a callback /// </summary> /// <param name="action">The action</param> /// <param name="callback">The callback to fire</param> public void RemoveDelegate(DictionaryEventAction action, DictionaryChangeCallback callback) { if (Delegates.ContainsKey(action)) { if (Delegates[action].Contains(callback)) { Delegates[action].Remove(callback); } } }
/// <summary> /// Register a callback to be fired when an action occurs /// </summary> /// <param name="action">The action</param> /// <param name="callback">The callback to fire</param> public void AddDelegate(DictionaryEventAction action, DictionaryChangeCallback callback) { if (Delegates.ContainsKey(action)) { Delegates[action].Add(callback); } else { List <DictionaryChangeCallback> callbacks = new List <DictionaryChangeCallback>(1); callbacks.Add(callback); Delegates.Add(action, callbacks); } }