WeakEventManager.ProtectedRemoveListener(Object, IWeakEventListener) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
以前に追加されたリスナーを指定されたソースから削除します。
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 必要があります。