我得到了一个程序,它给出了语法错误"System.Threading.Tasks.task不包含Run的定义"

我正在使用VB 2010.NET 4.0

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace ChatApp
{
class ChatProg
{
    static void Main(string[] args)
    {
        Task<int> wakeUp = DoWorkAsync(2000,"Waking up");
        Task.WaitAll(wakeUp);
    }

    static Task<int> DoWorkAsync(int milliseconds, string name)
    {

        //error appears below on word Run
        return Task.Run(() =>
            {
                Console.WriteLine("* starting {0} work", name);
                Thread.Sleep(milliseconds);
                Console.WriteLine("* {0} work one", name);
                return 1;
            });
    }
}
}

推荐答案

看起来你想要的是Task.Factory.StartNew<T>.

return Task.Factory.StartNew<int>(() => {
    // ...
    return 1;
});

由于编译器可以推断返回类型,这也适用于:

return Task.Factory.StartNew(() => {
    // ...
    return 1;
});

.net相关问答推荐

从Couchbase删除_txn文档的推荐方法?""

EFCore.DbSet.Update 方法添加新行而不是更新它

Visual Studio 2022 中的目标操作系统和目标运行时有什么区别?

为什么解码后的字节数组与原始字节数组不同?

PowerShell - 如果用户输入凭据,则查询 AD 时出错

MassTransit RespondAsync 无法返回空值

从 byte[] 创建 zip 文件

比较 C# 中的双精度值

为什么 .NET 内部 Hashtable 中有一个 Thread.Sleep(1)?

ASP.NET MVC:隐藏字段值不会使用 HtmlHelper.Hidden 呈现

通用枚举到int的C#非装箱转换?

如何在 C# 4.0 中使任务进入睡眠状态(或延迟)?

C# 中的 myCustomer.GetType() 和 typeof(Customer) 有什么区别?

DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") 返回上午时间而不是下午时间?

System.Speech.Recognition 和 Microsoft.Speech.Recognition 有什么区别?

X509Certificate 构造函数异常

.NET 中的对象引用有多大?

将 Dictionary 转换为匿名对象?

我可以将构造函数参数传递给 Unity 的 Resolve() 方法吗?

Uri.Host 和 Uri.Authority 有什么区别