gpt4 book ai didi

c# - System.Threading.Task 不包含定义

转载 作者:太空狗 更新时间:2023-10-29 20:44:14 25 4
gpt4 key购买 nike

我不能在我的 System.Threading.Task 上定义 .Delay。

 public async Task<string> WaitAsynchronouslyAsync()
{
await Task.Delay(10000);
return "Finished";
}

最佳答案

您使用的是 .NET 4。那时,还没有 Task.Delay。然而,有一个图书馆微软称 Microsoft.Bcl.Async ,它提供了一个替代方案:TaskEx.Delay

它会像这样使用:

public async Task<string> WaitAsynchronouslyAsync()
{
await TaskEx.Delay(10000);
return "Finished";
}

您的其他选择是更新到 .NET 4.5,或者自己实现它:

public static Task Delay(double milliseconds)
{
var tcs = new TaskCompletionSource<bool>();
System.Timers.Timer timer = new System.Timers.Timer();
timer.Elapsed += (o, e) => tcs.TrySetResult(true);
timer.Interval = milliseconds;
timer.AutoReset = false;
timer.Start();
return tcs.Task;
}

(摘自 Servy 的回答 here )。

关于c# - System.Threading.Task 不包含定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17717047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com