例如,如果您有BindingList <人>例如,您將其綁定到控件,如果您的Person類未實現INotfiyPropertyChanging/Changed,則對基礎List的更改將不會自動顯示在您的控件中。我的問題是,就框架而言,這些接口還有其他用途嗎?我不是在談論如何使用這些接口來實現基於這些事件的自己的操作,我在.NET Framework本身中討論過,是否還需要實現這些接口?除了數據綁定外,.NET Framework中還使用INotifyPropertyChanging/Changed嗎?
1
A
回答
3
我無法用100%的自信說話,但由於您沒有任何其他答案,而且我對自己感興趣,所以我剛啓動了Reflector並檢查了哪些類對INotifyPropertyChanged有依賴關係,似乎是:不,它不是真的用於其他任何事情。
翻翻類,一些非綁定引用是:
System.Configuration.ApplicationSettingsBase - 所以,如果你決定實現自己的應用程序設置提供那麼它應該公開INPC功能。所以有一個區域在DataBinding之外使用,但是卻是一個非常狹窄的小生境。
System.Printing.PrintTicket還實現INPC。我沒有通過.NET進行大量打印,所以這可能很重要,但可能不會。我真的不能說。
因此,爲了更充分地回答這個問題:如果你沒有數據綁定我懷疑你會發現任何好處,以使您的類實現INotifyPropertyChanged的,也有在接口用於之外的一些邊緣情況一個DataBinding上下文,但如果你在這些領域工作,你會很快找到自己的。
相關問題
- 1. 除了DirectShow之外,.NET還支持WebCam界面嗎?
- 2. 除了數據綁定之外,backbone.js(或knockout.js)還提供什麼優勢
- 3. 數據綁定使用SQLite和Entity Framework
- 4. 除了使用Cursor之外,還有其他方法可以從SQLite數據庫中獲取數據嗎?
- 5. .NET數據綁定
- 6. 除了結構化XML數據之外,還選擇行數據
- 7. 除了symfony2數據庫中的內容之外還添加自定義的值
- 8. 除了listview之外還有什麼用?
- 9. 使用IKVM指定.Net Framework
- 10. 數據綁定上了Itemplate
- 11. .NET的'任何CPU'項目都綁定到Framework或Framework64 DLL嗎?
- 12. 除了在ASP.NET中使用數據集或數據表以外,還有其他方式可以存儲數據庫中的數據嗎?
- 13. 使用數據綁定從數據庫中刪除記錄
- 14. SQLLite中除了這個之外,還需要另外一個索引嗎?
- 15. 除了抗鋸齒之外,我還可以使用多采樣緩衝區嗎?
- 16. 在Silverlight中,除了ListBox之外,還可以使用哪些結構進行綁定?
- 17. 在Silverlight中清除綁定(從SetBinding中刪除數據綁定)
- 18. 除了使用獨立存儲/數據庫與AudioPlaybackAgents進行通信之外,還有其他方法嗎?
- 19. 除了智能手機之外,還有Android虛擬設備嗎?
- 20. 除了Android SDK之外,還有其他的Android模擬器嗎?
- 21. Scala:除了scala之外,還有其他的嘗試嗎?
- 22. 除了PIVOT之外,還有其他的方法嗎?
- 23. 除了librpm之外,還有一個RPM實現嗎?
- 24. EOL == EOS除了BASIC之外還有其他語言嗎?
- 25. 除了text/css之外,還有一種樣式類型嗎?
- 26. 除了MediaPlayer以外,還有其他的Android mp3播放器嗎?
- 27. 除了CURL以外,還有其他休息客戶選擇嗎?
- 28. 除了MSXML以外,還有其他更好的IDOMImplementation嗎?
- 29. JavaBean除了getter和setter之外還有其他方法嗎?
- 30. 除了轉義引號之外,還有其他方法嗎?
Linq to SQL也使用它們以便對數據庫對象執行變更跟蹤。 (http://msdn.microsoft.com/zh-cn/library/bb425822.aspx#linqtosql_topic25) – Marchy 2010-05-10 17:37:05