CSharp - 在 C# 中,Task.FromResult <TResult>的用途是什么

  显示原文与译文双语对照的内容

在 C# 和 TPL ( 任务并行库 ) 中,Task 类代表一个持续的工作,它产生类型的值。

我想知道 Task.FromResult 方法需要什么?

即:在一个已经有了生产价值的场景中,需要将它封装到一个任务中?

唯一想到的是它被用作其他方法,用于接受任务实例的其他方法。

时间: 原作者:

我发现了两个常见的用例:

  1. 在实现允许异步调用程序的接口时,但你的实现是同步的。
  2. 当你为测试准备/模拟异步代码时。
原作者:

一个例子就是使用缓存的方法。 如果结果已经计算,你可以返回一个已经完成的任务,其值为( 使用 Task.FromResult ) 。 如果不是,那么你就继续并返回一个代表正在进行工作的任务。

原作者:

从 MSDN:

当执行返回任务对象的异步操作时,这里方法非常有用,并且该任务对象的结果已经被计算。

http://msdn.microsoft.com/en-us/library/hh228607.aspx

当你想要进行异步操作时使用 Task.FromResult,但有时结果是手工的。 你可以在这里找到一个很好的示例 http://msdn.microsoft.com/en-us/library/hh228607.aspx

...