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 移除接聽程式的位置和 listener 類別。 針對您的 RemoveListener 實作,請在目前的管理員上呼叫 ProtectedRemoveListener 方法,並傳遞相同的兩個參數。

如果 呼叫 ProtectedRemoveListener 移除清單中的最後一個接聽程式, ProtectedRemoveListener 請在內部呼叫 StopListening 方法,這會透過多型呼叫您的特定 StopListening 覆寫。

ProtectedRemoveListener會從每個 source 的內部單一內部 WeakEventManager.ListenerList 移除接聽程式。 如果您的管理員實作會針對每個事件來源組合維護多個接聽程式清單,請勿使用 ProtectedRemoveListener 。 相反地,您的實作應該建立自己的 WeakEventManager.ListenerList 實例、 RemoveListener 應該從適當的清單中移除接聽程式,而事件應該藉由呼叫 DeliverEventToList 方法而非 DeliverEvent 方法傳遞至適當的接聽程式清單。

適用於

另請參閱