CS0426类型名称“工厂”在“任务”类型中不存在

时间:2017-05-25 15:36:33

标签: c# visual-studio

Visual Studio 2017在访问Task类的Factory属性时显示此错误。请告诉我们如何修复此错误。代码是:

var t1 = new Task.Factory.StartNew(() => DoSomeVeryImportantWork(1, 1500));

private static void DoSomeVeryImportantWork(int id, int sleepTime)
        {
            Console.WriteLine($"Task {id} is beginning");
            Thread.Sleep(sleepTime);
            Console.WriteLine($"Task {id} has completed");
        }

3 个答案:

答案 0 :(得分:2)

Task.Factory是一个静态属性 - 您应该使用类型名称来访问静态成员:

var t1 = Task.Factory.StartNew(() => DoSomeVeryImportantWork(1, 1500));

答案 1 :(得分:0)

new运算符不用于调用方法。它用于创建对象。如果您没有尝试创建类型为Task.Factory的新对象(如您所知,这不是一个开头的类型),请省略new运算符。

var t1 = Task.Factory.StartNew(() => DoSomeVeryImportantWork(1, 1500));

答案 2 :(得分:0)

Task.Factory是一个静态属性。因此,您应该使用类型名称来访问静态成员。

public static TaskFactory Factory { get; }

您可能也希望查看TaskFactory课程。

另请注意,从.NET Framework 4.5开始,Task.Run方法是使用默认配置值创建Task对象的建议方法。

var t1 = Task.Run(() => DoSomeVeryImportantWork(1, 1500));