Страницы

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

суббота, 7 марта 2020 г.

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

#c_sharp #async_await


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 или опять что-то поменялось?
    


Ответы

Ответ 1



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

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

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