我正在设计一个包含几个属性的新类(C#),我的用户希望知道每个属性何时发生更改。
哪种方式更好?是采用INotifyPropertyChanged实现方式,还是只需拥有与我的属性相对应的单独事件?还是两者都要?
我正在设计一个包含几个属性的新类(C#),我的用户希望知道每个属性何时发生更改。
哪种方式更好?是采用INotifyPropertyChanged实现方式,还是只需拥有与我的属性相对应的单独事件?还是两者都要?
往后,INotifyPropertyChanged
是常态,并且在WPF中支持更好。我记得BindingList<T>
只支持INotifyPropertyChanged
(请参见反射器中的HookPropertyChanged
和UnhookPropertyChanged
)。
这样做更加高效,因为UI只需要一个事件钩子,而不是每个事件都需要一个 - 您的类可以更加高效,因为它只需要一个处理程序字段(而不是每个属性一个或通过EventHandlerList
和一组静态键来实现)
旧的风格主要是遗留问题。