WeakEventManager.ProtectedRemoveListener(Object, IWeakEventListener) メソッド

定義

以前に追加されたリスナーを指定されたソースから削除します。

protected:
 void ProtectedRemoveListener(System::Object ^ source, System::Windows::IWeakEventListener ^ listener);
protected void ProtectedRemoveListener (object source, System.Windows.IWeakEventListener listener);
member this.ProtectedRemoveListener : obj * System.Windows.IWeakEventListener -> unit
Protected Sub ProtectedRemoveListener (source As Object, listener As IWeakEventListener)

パラメーター

source
Object

リスナーを削除するソース。

listener
IWeakEventListener

待機するクラス (IWeakEventListener を実装する必要があります)。

注釈

実装のWeakEventManagerマネージャー クラス RemoveListener メソッド内でこのメソッドを呼び出します。 RemoveListener は、弱いイベント パターンのリスナーを他のクラスが削除できるようにするために、マネージャー クラスで定義する静的メソッドの推奨名です。 RemoveListener は、リスナーが source 削除される場所とクラスの 2 つのパラメーターを listener 受け取る必要があります。 RemoveListener実装では、現在のマネージャーでメソッドをProtectedRemoveListener呼び出し、同じ 2 つのパラメーターを渡します。

リスト内の最後のリスナーを削除する ProtectedRemoveListener 呼び出しの場合は、 ProtectedRemoveListener 内部的にメソッドを StopListening 呼び出します。これにより、ポリモーフィズムを介して特定 StopListening のオーバーライドが呼び出されます。

ProtectedRemoveListener で 1 つの内部 WeakEventManager.ListenerList からリスナーを削除します source。 マネージャーの実装で、イベント ソースの組み合わせごとに複数のリスナーの一覧が保持されている場合は、使用 ProtectedRemoveListenerしないでください。 代わりに、実装で独自 WeakEventManager.ListenerList のインスタンスを作成し、 RemoveListener 適切なリストからリスナーを削除し、メソッドではなくメソッドを呼び出してイベントを DeliverEventToList 適切なリスナー リストに配信する DeliverEvent 必要があります。

適用対象

こちらもご覧ください