Postsharp Recordable 和 NotifyPropertyChanged
Postsharp Recordable and NotifyPropertyChanged
我将 "standard" NotifyPropertyChanged 方面与 Recordable 结合使用,效果很好。
现在我想检查自定义脏逻辑的更改。
为此,我编写了一个使用
的自定义方面
[OnLocationSetValueAdvice, MulticastPointcut(Targets = MulticastTargets.Property)]
public void OnPropertySet(LocationInterceptionArgs args)
此方法在手动更改 属性 时被调用,但在执行撤消时不会被调用,这对我来说很奇怪。
如何捕捉来自撤消的更改?
PostSharp 的 [Recordable]
记录在字段级别而非属性级别发生变化,因此您的方面在 undo/redo 期间被跳过。您应该将它应用于字段并在 after Recordable
.
之后对其进行排序
或者,您可以实施 callback interface。
我将 "standard" NotifyPropertyChanged 方面与 Recordable 结合使用,效果很好。
现在我想检查自定义脏逻辑的更改。 为此,我编写了一个使用
的自定义方面[OnLocationSetValueAdvice, MulticastPointcut(Targets = MulticastTargets.Property)]
public void OnPropertySet(LocationInterceptionArgs args)
此方法在手动更改 属性 时被调用,但在执行撤消时不会被调用,这对我来说很奇怪。
如何捕捉来自撤消的更改?
PostSharp 的 [Recordable]
记录在字段级别而非属性级别发生变化,因此您的方面在 undo/redo 期间被跳过。您应该将它应用于字段并在 after Recordable
.
或者,您可以实施 callback interface。