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
移除接聽程式的位置和 listener
類別。 針對您的 RemoveListener
實作,請在目前的管理員上呼叫 ProtectedRemoveListener 方法,並傳遞相同的兩個參數。
如果 呼叫 ProtectedRemoveListener 移除清單中的最後一個接聽程式, ProtectedRemoveListener 請在內部呼叫 StopListening 方法,這會透過多型呼叫您的特定 StopListening 覆寫。
ProtectedRemoveListener會從每個 source
的內部單一內部 WeakEventManager.ListenerList 移除接聽程式。 如果您的管理員實作會針對每個事件來源組合維護多個接聽程式清單,請勿使用 ProtectedRemoveListener 。 相反地,您的實作應該建立自己的 WeakEventManager.ListenerList 實例、 RemoveListener
應該從適當的清單中移除接聽程式,而事件應該藉由呼叫 DeliverEventToList 方法而非 DeliverEvent 方法傳遞至適當的接聽程式清單。