2009-06-15 25 views
1

例如,如果您有BindingList <人>例如,您將其綁定到控件,如果您的Person類未實現INotfiyPropertyChanging/Changed,則對基礎List的更改將不會自動顯示在您的控件中。我的問題是,就框架而言,這些接口還有其他用途嗎?我不是在談論如何使用這些接口來實現基於這些事件的自己的操作,我在.NET Framework本身中討論過,是否還需要實現這些接口?除了數據綁定外,.NET Framework中還使用INotifyPropertyChanging/Changed嗎?

回答

3

我無法用100%的自信說話,但由於您沒有任何其他答案,而且我對自己感興趣,所以我剛啓動了Reflector並檢查了哪些類對INotifyPropertyChanged有依賴關係,似乎是:不,它不是真的用於其他任何事情。

翻翻類,一些非綁定引用是:

  • System.Configuration.ApplicationSettingsBase - 所以,如果你決定實現自己的應用程序設置提供那麼它應該公開INPC功能。所以有一個區域在DataBinding之外使用,但是卻是一個非常狹窄的小生境。

  • System.Printing.PrintTicket還實現INPC。我沒有通過.NET進行大量打印,所以這可能很重要,但可能不會。我真的不能說。

因此,爲了更充分地回答這個問題:如果你沒有數據綁定我懷疑你會發現任何好處,以使您的類實現INotifyPropertyChanged的,也有在接口用於之外的一些邊緣情況一個DataBinding上下文,但如果你在這些領域工作,你會很快找到自己的。

+2

Linq to SQL也使用它們以便對數據庫對象執行變更跟蹤。 (http://msdn.microsoft.com/zh-cn/library/bb425822.aspx#linqtosql_topic25) – Marchy 2010-05-10 17:37:05

相關問題