public static void ChangeAndNotifyHistory <T>(this PropertyChangedEventHandler handler, object owner, HistoryableProperty <T> field, T value, Expression <Func <T> > memberExpression) { if (owner == null) { throw new ArgumentNullException(OwnerParameterName); } if (EqualityComparer <T> .Default.Equals(field.GetValue(), value)) { return; } field.SetValue(value, () => Notify <T>(handler, owner, memberExpression)); Notify <T>(handler, owner, memberExpression); }
public void ChangeAndNotifyHistory<T>(HistoryableProperty<T> field, T value, Expression<Func<T>> memberExpression) { PropertyChanged.ChangeAndNotifyHistory<T>(this, field, value, memberExpression); Dirty = true; }