2

メソッドの数delegateを参照するがあるとします。barthissomeDelegate(someParameter);または thisのようにデリゲートを呼び出すsomeDelegate.Invoke(someParameter);と、実際には、このデリゲートが参照するメソッドが次々と同期的に呼び出されますよね? この呼び出しを Asynchronous にする方法はありますか?

4

1 に答える 1

3

BeginInvokeの代わりに使用できますInvoke。これにより、すべての個々のデリゲートが非同期に呼び出されますが、それでもシリアルに呼び出されます。(次にEndInvoke、 に渡すコールバックを呼び出す必要がありますBeginInvoke。詳細については、 MSDNを参照してください。)

デリゲートを並行して呼び出したい場合は、MulticastDelegate.GetInvocationListそれらを個別に取得してから、それらParallel.Invokeを呼び出すようなものを使用できます。

于 2013-08-24T09:21:36.203 に答える