TaskAwaiter<TResult> 结构

表示等待异步任务完成的对象并为结果提供参数。

此 API 支持产品基础结构,不能在代码中直接使用。

C#
public struct TaskAwaiter<TResult> : System.Runtime.CompilerServices.ICriticalNotifyCompletion

类型参数

TResult

任务的结果。

继承
TaskAwaiter<TResult>
实现

注解

此类型及其成员旨在供编译器使用。

属性

属性
IsCompleted

此 API 支持产品基础结构,不能在代码中直接使用。

获取一个值,该值指示异步任务是否已完成。

方法

方法
GetResult()

此 API 支持产品基础结构,不能在代码中直接使用。

结束异步任务完成的等待。

OnCompleted(Action)

此 API 支持产品基础结构,不能在代码中直接使用。

将操作设置为当 TaskAwaiter<TResult> 对象停止等待异步任务完成时执行。

UnsafeOnCompleted(Action)

此 API 支持产品基础结构,不能在代码中直接使用。

计划与此 awaiter 相关异步任务的延续操作。

static void Main(string[] args)
{
  Console.WriteLine("hello word");
  TaskAwaiter<string> taw = getStrAsync().GetAwaiter();
  var text = taw.GetResult();
  Console.WriteLine(text);
  Console.WriteLine("hello word end..");
  Console.ReadLine();

}
static string getStr()
{
  return "str";
}
static Task<string> getStrAsync()
{
  var t1 = new Task<string>(getStr);
  t1.Start();
  return t1;
}

原文地址:https://www.cnblogs.com/bruce1992/p/15111308.html