WeakEventManager.ListenerList 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供用于存储 WeakEventManager 的侦听器的内置集合列表。
protected: ref class WeakEventManager::ListenerList
protected class WeakEventManager.ListenerList
Protected Class WeakEventManager.ListenerList
- 继承
-
WeakEventManager.ListenerList
- 派生
注解
尽管此列表包含的成员类似于 和 ICollection定义的IList成员,并且提供类似的功能,但此类不会实现这两个接口。
大多数 WeakEventManager 派生类不需要在 上使用 WeakEventManager.ListenerList任何成员。
WeakEventManager方法 ProtectedAddListener 和 ProtectedRemoveListener 在内部使用默认值WeakEventManager.ListenerList,每个 source
都有一个列表。
仅当WeakEventManager类维护同一事件源组合的多个列表时,才需要调用WeakEventManager.ListenerList方法,创建每个列表是为了考虑事件的不同条件。 在这种情况下,你不会使用 ProtectedAddListener 和 ProtectedRemoveListener ,而是在一个内部侦听器列表中实现 AddListener
或 RemoveListener
对侦听器执行操作,通常基于添加到 AddListener
或 RemoveListener
的参数。 此外,接收原始事件的处理程序实现不能简单地调用 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) |