2

假设我有一个delegatebar方法数的。当我像这样someDelegate(someParameter);或像这样调用委托时someDelegate.Invoke(someParameter);,这个委托所引用的方法实际上是同步调用的,一个接一个,对吧?有没有办法让这个调用异步?

4

1 回答 1

3

您可以使用BeginInvoke而不是Invoke. 这将异步调用所有单独的代表 - 但仍然是串行的。(然后您应该调用EndInvoke您传入的回调。有关详细信息,BeginInvoke请参阅MSDN 。)

如果您想并行调用代表,可以使用MulticastDelegate.GetInvocationList单独获取它们,然后Parallel.Invoke调用它们。

于 2013-08-24T09:21:36.203 回答