Ich muss asynchrone Anzahl der Delegaten für die gleiche Funktion aufrufen. Die Frage ist, wie sollte ich die Rückruffunktion behandeln? Wir haben einige Delegierte, die so ausgeführt werden, dass CallbackMethod nicht bedeutet, dass alle asynchronen Delegierten beendet sind.Async-Aufruf für Delegat in Zyklus
AsyncMethodCaller c = new AsyncMethodCaller(instance.dummyMethod);
for (int i = 0; i < 100; i++)
{
IAsyncResult res = c.BeginInvoke(5000,
out dummy,
new AsyncCallback(CallbackMethod),
"executed on thread {0}, with result value \"{1}\".");
}
CallbackMethod wird für jeden Aufruf von instance.dummyMethod aufgerufen. Wenn Sie warten müssen, bis alle Aufrufe in Ihrem Hauptthread abgeschlossen sind, können Sie alle IAsyncResult einer Liste hinzufügen und dann jedes Element in der Schleife abfragen, indem Sie IAsyncResult.IsComplete aufrufen oder WaitHandle.WaitAll Methode verwenden –