从具有返回类型Task的方法返回值

时间:2014-05-26 07:13:20

标签: c# .net task-parallel-library task

我可能在这里错过了一些东西。语法不正确。

static Task<int> MathOperation(int number)
{
    //return new Task(new Func(TestMethod(number)));
}

static int LongRunningMethod(int number)
{
    // some long running operation
}

如何编写return的{​​{1}}语句?

  

我收到此错误:使用泛型类型'System.Func'需要1个类型参数。

1 个答案:

答案 0 :(得分:6)

您可以使用Lambda Expression。您应该避免使用new Task,因为它返回“冷任务”,这意味着必须使用Task启动Start()。请改用Task.Run

static Task<int> MathOperation(int number)
{
    return Task.Run(() => TestMethod(number));
}