INotifyPropertyChanged

INotifyPropertyChanged

我从未使用过INotifyPropertyChanged,并且正在考虑在新应用程序中广泛使用它。

我的问题是,使用INotifyPropertyChanged接口(interface)为数据绑定(bind)控件以外的事件提供事件通知是否“适当”?

从网上的大量示例看来,此接口(interface)已广泛用于通知网格,以及用于更改数据的时间。在各种情况下,我需要其他类来通知其他类中的数据更改,并且我想知道您是否认为实现此接口(interface),在setter上执行更改的调用或创建常规事件更干净。

最佳答案

在做出这样的选择时,我倾向于在其他结构上使用语言功能。

INotifyPropertyChanged的一个严重缺点是,它仅在更新时以字符串形式提供属性名称,而您的使用类必须解析该字符串并决定如何对其进行操作。

使用事件,您可以提供事件所需的任何类型的委托(delegate)签名,并且使用方可以直接对更改进行操作。

如果您在后台进行浏览,您会发现INotifyPropertyChanged仍然是一个事件,那么为什么不直接使用事件呢?

关于c# - INotifyPropertyChanged数据绑定(bind)外的用法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7347984/

10-13 09:28