什么是TaskEx?在http://www.i-programmer.info/programming/c/1514-async-await-and-the-ui-problem.html?start=1await TaskEx.DelayAwait async clarification中。我用

Task DoWork()
{
    return Task.Run(() =>
    {
        for (int i = 0; i < 30; i++)
        {
            Thread.Sleep(1000 * 60 * 30);
        }
    });
}

示例使用此
Task DoWork()
{
   return TaskEx.Run(() =>
   {
     for (int i = 0; i < 10; i++)
     {
         Thread.Sleep(500);
     }
   }
 });

我称之为await DoWork();
如果只使用Taskawait不会返回任何内容,也不会有响应。如果我使用TaskEx它表示它不存在于上下文中。
TaskEx应该是类还是具有某种功能的类?
打一拳我就错了。

最佳答案

TaskEx只是一个额外的类,它最初是用CTPs的Acyc/Acess扩展来传送的,而C 5则是.NET 4.5出货之前…现在是Async Targeting Pack(也称为Microsoft.Bcl.Async NuGet package)的一部分,以防您想使用async/await,但目标是.net 4.0(它没有所需的一些代码)。
如果您使用的是.net 4.5或更高版本,只需使用Task.Run,它也会执行相同的操作。(你不会使用目标包,所以你就不会有TaskEx)。异步目标包不能向现有的Task类添加静态方法,因此对TaskEx的需求完全存在。

关于c# - 等待异步TaskEx,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35041478/

10-11 01:26