public void AddHandler(EventHandler <PropertyChangedEventArgs> handler, string propertyName) { PropertyRecord pr = (PropertyRecord)_dict[propertyName]; if (pr == null) { // no entry in the dictionary - add a new one pr = new PropertyRecord(propertyName, this); _dict[propertyName] = pr; pr.StartListening(_type); } pr.AddHandler(handler); // invalidate list of all listeners _dict.Remove(AllListenersKey); _proposedAllListenersList = null; // schedule a cleanup pass _manager.ScheduleCleanup(); }
public void AddHandler(EventHandler<PropertyChangedEventArgs> handler, string propertyName) { PropertyRecord pr = (PropertyRecord)_dict[propertyName]; if (pr == null) { // no entry in the dictionary - add a new one pr = new PropertyRecord(propertyName, this); _dict[propertyName] = pr; pr.StartListening(_type); } pr.AddHandler(handler); // invalidate list of all listeners _dict.Remove(AllListenersKey); _proposedAllListenersList = null; // schedule a cleanup pass _manager.ScheduleCleanup(); }