属性更改时的事件触发器



我正在尝试编写一个分析工具,用于比较和跟踪应用程序中一段时间内的数据。

我目前的目标是找到一种方法,在跟踪属性的值发生变化后向经理发送触发器。

在理想情况下,设置跟踪属性的过程应尽可能简单,而无需对实际属性代码(如INotifyPropertyChanged接口(进行更改。任何具有有效getter和setter的属性都应该是可追踪的。

我的想法是使用 Reflection 挂钩到属性的 setter 方法,并在调用 setter 后在那里添加一个回调。

有没有更好的方法可以解决这个问题?或者反思可以做到这一点,如果是,如何?

如果每次更改都应尽快发送触发器,则唯一的选择是在属性周围添加包装器(一种或另一种方式(。AOP框架可以大大简化这一点,并有助于避免样板代码(例如INotifyPropertyChanged"模式"(。其中有一些各有优缺点,例如:

  • 后夏普

  • AspectInjector(可能对您的需求有帮助的示例(https://github.com/pamidur/aspect-injector/tree/master/samples/NotifyPropertyChanged(

相关内容

  • 没有找到相关文章

最新更新