Metoda asynchoniczna bez await

0

Chciałbym utworzyć metodę która wygląda mniej więcej w ten sposób:

public async Task SetupResourcesAsync(...)
{
            {...}
            List<Task> tasks = new List<Task>();

            tasks.Add(Task.Run(() =>
            {
                  {...}
            }));

            Task.WaitAll(tasks.ToArray());
}

Problem polega na tym iż korzystam z zewnętrznej biblioteki (odpowiedzialna za IO) która nie mam możliwości wykonania pewnych operacji asynchronicznie. W związku z tym nie mogę użyć await.

Tuta:j https://stackoverflow.com/a/17805992/6751581 niby jest ok, ale nie zwraca Taska i ani nie czeka na jego zakończenie, a ja potrzebuje utworzyć ich kilka(naście) i zaczekać na ich zakończenie.

Nie mogę użyć ThreadPoola bo WPF mi na to nie pozwala, macie jakieś pomysły jak to ugryźć?
Jedyne czego potrzebuje to nie "zwiesić" UI.

1

Zamiast WaitAll użyj WhenAll który zwraca Taska na którym mozesz zrobić await :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1