IWeakEventListener インターフェイス

定義

WeakEvent パターンと WeakEventManager を通じてイベントを受信するクラスにイベント リスニング サポートを提供します。

public interface class IWeakEventListener
public interface IWeakEventListener
type IWeakEventListener = interface
Public Interface IWeakEventListener
派生

注釈

WeakEventManager(ディスパッチャー) は、 ReceiveWeakEvent このインターフェイスを実装するクラスに対してメソッドを呼び出し、事前にメソッドを呼び出すことによってリスナーとして追加されたイベントを転送し WeakEventManager ます。

WeakEvent パターンに従う主な理由は、イベントソースのオブジェクトの有効期間がイベントリスナーに依存しない可能性がある場合です。 の中心的なイベントディスパッチを使用すると、リスナー WeakEventManager のハンドラーをガベージコレクション (または手動で削除) することができます。ソースオブジェクトの有効期間がリスナーを超える場合でも同様です。 これに対して、または同等の言語固有のイベント構文を使用する通常のイベントフックでは、 += まだ接続されている可能性のあるソースがハンドラーへの強い参照を保持します。 これにより、リスナー参照がガベージコレクションの対象になります。

ソースとリスナー間のリレーションシップによってこのパターンの使用が提案される1つの一般的な状況は、データバインディングのソースからの更新イベントの処理です。

WeakEvent パターンを使用すると、アプリケーションの外部にあるイベントをリッスンできます。 を定義し、 WeakEventManager でリッスン動作を指定し、を使用してで ReceiveWeakEvent WeakEventManager はなくハンドラー参照をアタッチするだけです +=

メソッド

ReceiveWeakEvent(Type, Object, EventArgs)

中央のイベント マネージャーからイベントを受信します。

適用対象

こちらもご覧ください