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");
}
答案 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));