IWeakEventListener 介面

定義

為透過 WeakEvent 模式和 WeakEventManager 接收事件的類別提供事件接聽支援。

public interface class IWeakEventListener
public interface IWeakEventListener
type IWeakEventListener = interface
Public Interface IWeakEventListener
衍生

備註

(WeakEventManager 發送器) 在實作此介面的類別上呼叫 ReceiveWeakEvent 方法來轉送事件,並透過事先呼叫 WeakEventManager 方法新增為接聽程式。

遵循 WeakEvent 模式的主體原因是當事件來源具有可能與事件接聽程式無關的物件存留期時。 使用 的中央事件分派 WeakEventManager 可讓接聽程式的處理常式進行垃圾收集 (或手動清除) ,即使來源物件存留期超出接聽程式也一樣。 相較之下,使用 += 或對等語言特定事件語法的一般事件勾點會導致可能仍連線的來源保存處理常式的強式參考。 這可讓接聽程式參考以及時的方式進行垃圾收集。

來源與接聽程式之間的關聯性建議使用此模式的常見情況是處理來自資料系結來源的更新事件。

您可以使用 WeakEvent 模式來接聽應用程式外部的事件。 您只需要為其定義 WeakEventManager 、在 中 ReceiveWeakEvent 提供接聽行為,並使用 WeakEventManager 來附加處理常式參考,而不是 +=

方法

ReceiveWeakEvent(Type, Object, EventArgs)

從集中式事件管理員接收事件。

適用於

另請參閱