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)

接收集中事件管理器中的事件。

适用于

另请参阅