Ваше требование не соответствует вашему примеру кода: вы отметили свой метод async
, что означает, что вы хотите, чтобы этот метод мог возвращать до того, как завершит свою работу. Тем не менее, вы говорите, что хотите, чтобы он возвращал только после всей работы.
Таким образом, если вы хотите, чтобы ваш метод был синхронным , не используйте async
и вручную дождитесь завершения всех задач:
private void SomeWork()
{
var a = doWork1();
var b = doWork2();
var c = doWork3();
var d = doWork4();
...
a.Wait();
b.Wait();
c.Wait();
d.Wait();
}
или, более элегантно:
Task.WaitAll(a, b, c, d);