public void RemoveHandler(ShellChangeTypes eventType, Delegate handler) { var et = Convert.ToUInt32(eventType); List <Delegate> handlerList; if (this.events.TryGetValue(et, out handlerList)) { handlerList.Remove(handler); } }
public void AddHandler(ShellChangeTypes eventType, Delegate handler) { var et = Convert.ToUInt32(eventType); this.events.AddOrUpdate(et, value => new List <Delegate> { handler }, (value, list) => { list.Add(handler); return(list); }); }