public void Before() { if (!(Invocation.GetCurrentValue() is INotifyPropertyChanged)) { return; } if (Invocation.GetCurrentValue() == null) { return; } RemoveHandler(Invocation); }
public void Intercept() { var oldValue = Invocation.GetCurrentValue(); Invocation.Proceed(); var newValue = Invocation.GetArgumentValue(0); if (AreEqual(oldValue, newValue)) { return; } NotifiedObject.Notify(Invocation); }