Ben*_*oit 0 .net c# dispatchertimer
几年前,我读了一本书,描述了如何使用自己的处理器覆盖.NET中的默认事件"调度程序"实现.
class foo {
public event EventHandler myEvent;
...
}
...
myFoo.myEvent += myBar1.EventHandler;
myFoo.myEvent += myBar2.EventHandler;
Run Code Online (Sandbox Code Playgroud)
每当事件触发时,都会调用myBar1和myBar2处理程序.
我记得,这个循环的默认实现使用链表,只是迭代列表并按顺序调用EventHandler委托.
我的问题有两个:
编辑:我所指的那本书确实是Jeffrey Richter通过C#的CLR
它可能是许多书籍或网络文章之一.
您可能想要更改订阅/取消订阅事件的方式有多种原因:
我相信还有更多 - 这些都不在我的脑海里:)
编辑:另请注意,使用自定义方式处理订阅/取消订阅和使用自定义方式引发事件(可以调用GetInvocationList并保证所有处理程序都被调用,例如,无论例外情况)之间存在差异.
归档时间: |
|
查看次数: |
1023 次 |
最近记录: |