Example #1
0
        protected virtual void OnPropertyChanged(PropertyChangedEventInfo info)
        {
            Invariant.ArgumentNotNull((object)info, "info");
            this.propertyChangedSubject.OnNext(info);
            PropertyChangedEventHandler propertyChanged = this.PropertyChanged;

            if (propertyChanged == null)
            {
                return;
            }
            propertyChanged((object)this, new PropertyChangedEventArgs(info.PropertyName));
        }
Example #2
0
        protected bool SetValue <T>(ref T backingField, T value, [CallerMemberName] string propertyName = null)
        {
            Invariant.ArgumentNotNull((object)propertyName, "propertyName");
            this.VerifyAccess();
            if (EqualityComparer <T> .Default.Equals(backingField, value))
            {
                return(false);
            }
            PropertyChangedEventInfo <T> changedEventInfo = new PropertyChangedEventInfo <T>((object)this, propertyName, backingField, value);

            backingField = value;
            this.OnPropertyChanged((PropertyChangedEventInfo)changedEventInfo);
            return(true);
        }