Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# CS0426和#x9;类型名称';工厂';不存在于类型';任务';_C#_Visual Studio - Fatal编程技术网

C# CS0426和#x9;类型名称';工厂';不存在于类型';任务';

C# CS0426和#x9;类型名称';工厂';不存在于类型';任务';,c#,visual-studio,C#,Visual Studio,Visual studio 2017在访问任务类的Factory属性时显示此错误。请说明如何修复此错误。代码是: var t1 = new Task.Factory.StartNew(() => DoSomeVeryImportantWork(1, 1500)); private static void DoSomeVeryImportantWork(int id, int sleepTime) { Console.WriteLine($"Task

Visual studio 2017在访问任务类的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");
        }
是静态属性-应使用类型名称访问静态成员:

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

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

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

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

public static TaskFactory Factory { get; }
您可能还想看看
TaskFactory

还请记住,从.NETFramework4.5开始,Task.Run方法是使用默认配置值创建任务对象的建议方法

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

谢谢你这么快的回复。这真是一个愚蠢的错误,我应该在发帖前发现。非常感谢:)