WeakEventManager.ListenerList 类

定义

提供用于存储 WeakEventManager 的侦听器的内置集合列表。

protected: ref class WeakEventManager::ListenerList
protected class WeakEventManager.ListenerList
Protected Class WeakEventManager.ListenerList
继承
WeakEventManager.ListenerList
派生

注解

尽管此列表包含的成员类似于 和 ICollection定义的IList成员,并且提供类似的功能,但此类不会实现这两个接口。

大多数 WeakEventManager 派生类不需要在 上使用 WeakEventManager.ListenerList任何成员。 WeakEventManager方法 ProtectedAddListenerProtectedRemoveListener 在内部使用默认值WeakEventManager.ListenerList,每个 source都有一个列表。

仅当WeakEventManager类维护同一事件源组合的多个列表时,才需要调用WeakEventManager.ListenerList方法,创建每个列表是为了考虑事件的不同条件。 在这种情况下,你不会使用 ProtectedAddListenerProtectedRemoveListener ,而是在一个内部侦听器列表中实现 AddListenerRemoveListener 对侦听器执行操作,通常基于添加到 AddListenerRemoveListener的参数。 此外,接收原始事件的处理程序实现不能简单地调用 DeliverEvent;必须改为跟踪事件的具体内容,并使用 仅将事件传送到相应的列表 DeliverEventToList

提供了 的各种方法 WeakEventManager.ListenerList ,以便您可以使用内部列表,并防止在实际传递事件期间修改列表。

使用此实现技术的一个示例类是 PropertyChangedEventManager,它根据更改的属性维护单独的 PropertyChanged 侦听器列表。

XAML 文本用法

不能在 XAML 中使用此类。

构造函数

WeakEventManager.ListenerList()

初始化 WeakEventManager.ListenerList 类的新实例。

WeakEventManager.ListenerList(Int32)

使用指定的初始容量初始化 WeakEventManager.ListenerList 类的新实例。

属性

Count

获取 WeakEventManager.ListenerList 中包含的项的数量。

Empty

获取表示用于对比的空列表的值。

IsEmpty

获取声明此 WeakEventManager.ListenerList 是否为空的值。

Item[Int32]

获取或设置 WeakEventManager.ListenerList 中的特定侦听器项。

方法

Add(IWeakEventListener)

IWeakEventListener 对象添加到 WeakEventManager.ListenerList 中。

AddHandler(Delegate)

将事件处理程序添加到 WeakEventManager.ListenerList 中。

BeginUse()

声明列表正在使用中。 这可以防止在列表项迭代过程中直接更改列表。

Clone()

创建此 WeakEventManager.ListenerList 的可修改复本。

CopyTo(WeakEventManager+ListenerList)

将当前 WeakEventManager.ListenerList 复制到指定的 WeakEventManager.ListenerList

DeliverEvent(Object, EventArgs, Type)

将正在托管的事件传送到 WeakEventManager.ListenerList 中的每个侦听器。

EndUse()

解除由 BeginUse() 启动的锁定状态。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
PrepareForWriting(WeakEventManager+ListenerList)

检查是否正在使用提供的列表,如果正在使用,则将列表引用参数设置为该列表的副本,而不是原稿列表的副本。

Purge()

从基础引用目标为 null 引用的列表中移除所有项。

Remove(IWeakEventListener)

WeakEventManager.ListenerList 中移除侦听器项的第一个匹配项。

RemoveHandler(Delegate)

WeakEventManager.ListenerList 目标中移除事件处理程序。

ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于

另请参阅