作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我最近一直在做一个广泛使用事件的项目。我需要做的一件事是在多播委托(delegate)上异步调用多个事件处理程序。我认为诀窍是对 GetInvocationList 中的每个项目调用 BeginInvoke,但似乎那里不存在 BeginInvoke。
有没有办法做到这一点,或者我是否需要开始使用 ThreadPool.QueueUserWorkItem 并以这种方式推出我自己的解决方案?
最佳答案
GetInvocationList
只返回一个 Delegate
类型的数组,它不知道适当的签名。但是,您可以将每个返回值强制转换为您的特定委托(delegate)类型:
foreach (MyDelegate action in multicast.GetInvocationList())
{
action.BeginInvoke(...);
}
关于c# - 异步多播委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1453373/
我是一名优秀的程序员,十分优秀!