Примечание. Я использую С# в Unity, это означает версию .NET 3.5, поэтому я не могу использовать ключевое слово await
или async
.
Что произойдет с использованием оператора, когда я поставлю в него метод, который работает асинхронно?
using (WebClient wc = new WebClient()) {
wc.DownloadFileAsync(urlUri, outputFile);
}
SomeMethod1();
SomeMethod2();
Как вы знаете, после вызова метода DownloadFileAsync()
будет вызываться SomeMethod1()
, который находится вне блока using
, а DownloadFileAsync()
по-прежнему работает. Итак, теперь я действительно смущен тем, что произойдет с оператором using и асинхронным методом в этом случае.
Будет ли Dispose()
of wc
вызываться в нужное время без каких-либо проблем?
Если нет, как мне исправить этот пример?