IWeakEventListener インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
WeakEvent パターンと WeakEventManager を通じてイベントを受信するクラスにイベント リスニング サポートを提供します。
public interface class IWeakEventListener
public interface IWeakEventListener
type IWeakEventListener = interface
Public Interface IWeakEventListener
- 派生
注釈
(ディスパッチャー) は WeakEventManager 、このインターフェイスを実装し、メソッドを ReceiveWeakEvent 事前に呼び出すことによってリスナーとして追加されたクラスでメソッドを呼び出 WeakEventManager すことによってイベントを転送します。
WeakEvent パターンに従う主な理由は、イベント ソースのオブジェクトの有効期間がイベント リスナーから独立している可能性がある場合です。 a の中央イベント ディスパッチを使用すると、ソース オブジェクトの WeakEventManager 有効期間がリスナーを超えた場合でも、リスナーのハンドラーをガベージ コレクション (または手動で消去) できます。 これに対し、通常のイベント フックアップでは、言語固有または同等の言語固有のイベント構文を使用 +=
すると、引き続き接続されている可能性のあるソースがハンドラーへの強力な参照を保持します。 これにより、リスナー参照がタイムリーにガベージ コレクションされなくなります。
ソースとリスナーの間のリレーションシップが、このパターンの使用を示唆する一般的な状況の 1 つは、データ バインディングのソースからの更新イベントの処理です。
WeakEvent パターンを使用して、アプリケーションの外部にあるイベントをリッスンできます。 必要なのは、for をWeakEventManager定義し、リッスン動作ReceiveWeakEventを提供すること、およびハンドラー参照+=
をアタッチするために使用WeakEventManagerすることだけです。
メソッド
ReceiveWeakEvent(Type, Object, EventArgs) |
中央のイベント マネージャーからイベントを受信します。 |