Jer*_*ett 14 c# events multithreading delegates asynchronous
我最近在一个广泛使用事件的项目上做了一些工作.我需要做的一件事是在多播委托上异步调用多个事件处理程序.我认为诀窍是在GetInvocationList中的每个项目上调用BeginInvoke,但看起来好像BeginInvoke不存在.
有没有办法做到这一点,还是我需要开始使用ThreadPool.QueueUserWorkItem并以这种方式滚动我自己的解决方案?
Jon*_*eet 20
GetInvocationList只返回一个Delegate不知道相应签名的类型数组.但是,您可以将每个返回的值转换为特定的委托类型:
foreach (MyDelegate action in multicast.GetInvocationList())
{
action.BeginInvoke(...);
}
Run Code Online (Sandbox Code Playgroud)