c# - 等待异步 TaskEx

标签 c# .net visual-studio async-await

什么是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 只是一个额外的类,最初在 .NET 4.5 发布之前随 C# 5 的 async/await 扩展的 CTP 一起发布...现在是 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/

相关文章:

c# - ASP.Net 中的页面指令中的 AutoEventWireup 应设置为什么值?

c# - 如何在构造函数中正确实例化静态 HttpClient

c# - 等待等待另一个 IAsyncResult 的 IAsyncResult 方法(链接)

c++ - 什么是 "pch.h"以及为什么需要将它作为第一个头文件包含在内?

c# - 如何在 VS WebTest 中发布 Json 对象?

c++ - 两个 DLL 之间的堆损坏

c# - 如何在 ASP.Net 中禁用按钮

c# - 接口(interface) : simplified

c# - 在 WinForms 中添加验证而不使用 IDataErrorInfo

c# - WCF 和 <identity impersonate ="true"/>