Страницы

Поиск по вопросам

пятница, 24 мая 2019 г.

await Task не содержит определение Delay

using System.Threading.Tasks;
private async Task PageLoad(int TimeOut) { TaskCompletionSource PageLoaded = null; PageLoaded = new TaskCompletionSource(); int TimeElapsed = 0; _webBrowser.DocumentCompleted += (s, e) => { if (_webBrowser.ReadyState != WebBrowserReadyState.Complete) return; if (PageLoaded.Task.IsCompleted) return; PageLoaded.SetResult(true); };
while (PageLoaded.Task.Status != TaskStatus.RanToCompletion) { TimeElapsed++; if (TimeElapsed >= TimeOut * 100) PageLoaded.TrySetResult(true); await Task.Delay(10); } }
Почему VS пишет что Task не содержит определение для Dеlay? Вроде для ее работы нужна только System.Threading.Tasks или опять что-то поменялось?


Ответ

Task.Delay доступен с версии .NET Framework 4.5.
Есть аналог для .NET Framework 4 в реализации Microsoft Async
использовать так:
await TaskEx.Delay(1000);

Комментариев нет:

Отправить комментарий