【问题标题】:Other than for Databinding, is INotifyPropertyChanging / Changed used in the .NET Framework?除了数据绑定,.NET Framework 中是否使用了 INotifyPropertyChanging / Changed?
【发布时间】:2009-06-15 17:14:14
【问题描述】:

例如,如果你有一个 BindingList 并且你将它绑定到一个控件,如果你的 Person 类没有实现 INotfiyPropertyChanging / Changed,你对底层 List 的更改将不会自动显示在你的控件中。我的问题是,就框架而言,这些接口还有其他用途吗?我不是在谈论使用这些接口来实现基于这些事件的您自己的操作,而是在 .NET Framework 本身中谈论,是否还有其他需要实现这些接口?

【问题讨论】:

    标签: c# .net inotifypropertychanged


    【解决方案1】:

    我不能 100% 自信地说话,但是由于您没有任何其他答案而且我自己也很感兴趣,所以我刚刚启动了 Reflector 并检查了哪些类依赖于 INotifyPropertyChanged,然后出现了简短的答案to be:不,它并没有真正用于其他任何事情。

    查看类,一些非数据绑定引用是:

    • System.Configuration.ApplicationSettingsBase - 因此,如果您决定为应用程序设置实现自己的提供程序,那么它应该公开 INPC 功能。所以有一个领域是在 DataBinding 之外使用它,但它是一个非常狭窄的领域。

    • System.Printing.PrintTicket 也实现了 INPC。我没有通过 .NET 进行大量打印,所以这可能很重要,也可能不重要。我真的说不出口。

    所以,为了更全面地回答这个问题:如果你不是数据绑定,我怀疑你会发现让你的类实现 INotifyPropertyChanged 有什么好处,在一些边缘情况下,接口在 DataBinding 上下文之外使用,但如果你在这些领域工作,你很快就会自己发现。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多