例如,如果您有一个 BindingList<Person> 并将其绑定到控件,如果您的 Person 类未实现 INotfiyPropertyChanging / Changed,则您对基础 List 的更改将不会自动显示在您的控件中。我的问题是,就框架而言,这些接口还有其他用途吗?我不是在谈论使用这些接口来实现基于这些事件的自己的操作,我是在 .NET Framework 本身中谈论,是否还有其他需要实现这些接口?
问问题
759 次
1 回答
3
我不能 100% 自信地说,但由于您没有任何其他答案而且我自己也很感兴趣,所以我刚刚启动了 Reflector 并检查了哪些类依赖于 INotifyPropertyChanged,简短的答案似乎是:不,它并没有真正用于其他任何事情。
浏览这些类,一些非数据绑定引用是:
System.Configuration.ApplicationSettingsBase - 因此,如果您决定为应用程序设置实现自己的提供程序,那么它应该公开 INPC 功能。所以有一个领域在 DataBinding 之外使用它,但它是一个非常狭窄的领域。
System.Printing.PrintTicket 也实现了 INPC。我没有通过 .NET 进行大量打印,所以这可能很重要,也可能不重要。我真的说不出来。
所以,为了更全面地回答这个问题:如果你不是数据绑定,我怀疑你会发现让你的类实现 INotifyPropertyChanged 有什么好处,在一些边缘情况下,接口在 DataBinding 上下文之外使用,但是如果你在那些领域工作,你很快就会自己发现。
于 2009-06-15T19:00:43.370 回答