如何确定EventHandler的线程?

时间:2014-04-12 11:17:10

标签: c# multithreading events event-handling begininvoke

我有一个事件,通常是异步引发的,如下所示:

foreach (EventHandler eventHandler in Event.GetInvocationList())
{
   eventHandler.BeginInvoke(sender, e, EndRaiseEvent, eventHandler);
}

现在可能还有一些侦听器与提升事件的侦听器位于同一个线程上,在这种情况下,我希望事件被引发为同步(没有BeginInvoke),但是如何区分InvocationList中的那些事件?

1 个答案:

答案 0 :(得分:0)

你不需要。没有其他侦听器在“不同的线程”上运行的含义。当一个事件被引发时,如果你注册了它,那么无论它被引发到什么线程都没关系,你将被调用。