다음을 통해 공유


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를 구현해야 하는 수신 클래스입니다.

설명

구현에 대한 관리자 클래스 RemoveListener 메서드 내에서 이 메서드를 WeakEventManager 호출합니다. RemoveListener 는 다른 클래스가 약한 이벤트 패턴에 대한 수신기를 제거할 수 있도록 관리자 클래스에서 정의하는 정적 메서드의 제안된 이름입니다. RemoveListener 는 수신기가 source 제거되는 위치와 클래스라는 두 개의 매개 변수를 listener 사용해야 합니다. 구현의 RemoveListener 경우 현재 관리자에서 ProtectedRemoveListener 메서드를 호출하고 동일한 두 매개 변수를 전달합니다.

목록에서 ProtectedRemoveListener 마지막 수신기를 ProtectedRemoveListener 제거하는 호출이 있는 경우 메서드를 내부적으로 호출 StopListening 합니다. 이 메서드는 다형성을 통해 특정 StopListening 재정의를 호출합니다.

ProtectedRemoveListener은 (1)에 따라 source단일 내부 WeakEventManager.ListenerList 에서 수신기를 제거합니다. 관리자 구현에서 각 이벤트 원본 조합에 대해 둘 이상의 수신기 목록을 유지 관리하는 경우 사용하지 ProtectedRemoveListener마세요. 대신 구현에서 자체 WeakEventManager.ListenerList 인스턴스를 만들고, RemoveListener 적절한 목록에서 수신기를 제거해야 하며, 메서드 대신 DeliverEvent 메서드를 호출 DeliverEventToList 하여 이벤트를 적절한 수신기 목록으로 전달해야 합니다.

적용 대상

추가 정보