2009-06-15 7 views
1

BindingList <Person>などを持ち、コントロールにバインドする場合、PersonクラスでINotfiyPropertyChanging/Changedが実装されていない場合、基になるリストの変更は自動的にコントロールに表示されません。私の質問は、フレームワークに関する限り、これらのインターフェイスの他の用途はありますか?私は、これらのイベントに基づいて独自のアクションを実装するために、これらのインターフェイスを使用することについて話しているわけではありません。私は.NET Framework自体について言及しています。データバインディング以外は、.NET FrameworkでINotifyPropertyChanging/Changedが使用されていますか?

答えて

3

私は100%自信を持って話すことができませんが、あなたは他の回答がなく、自分自身に興味がありましたので、私はReflectorを起動し、INotifyPropertyChangedに依存するクラスをチェックしました。次のように見えます:いいえ、それは本当に他のものに使われていません。

  • System.Configuration.ApplicationSettingsBase - あなたはアプリケーションの設定のための独自のプロバイダを実装することを決定した場合、それはINPC機能を公開する必要があります

    クラスを介して見ると、非データバインディング参照の一部です。したがって、DataBindingの外側で使用される領域が1つありますが、非常に狭いニッチです。

  • System.Printing.PrintTicketもINPCを実装しています。私は.NETを通して大量の印刷をしていないので、これは重要かもしれませんが、そうでないかもしれません。私は本当に言うことができませんでした。

    だから、

、より完全質問に答える:あなたは私はあなたがあなたのクラスはINotifyPropertyChangedのを実装することにどんな恩恵を見つけることができます疑うデータバインディングされていない場合は、インタフェースが外で使用されるいくつかのエッジケースがありますデータバインディングのコンテキストがありますが、もしあなたがそれらの分野で働いていれば、すぐにそれを見つけ出すことができます。

+2

Linq to SQLは、データベースオブジェクトの変更追跡を行うためにもLinq to SQLを使用します。 (http://msdn.microsoft.com/en-us/library/bb425822.aspx#linqtosql_topic25) – Marchy

関連する問題