コード例 #1
0
            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();
            }
コード例 #2
0
            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();
            }