- 参考网址:https://docs.microsoft.com/zh-cn/dotnet/api/system.runtime.compilerservices.taskawaiter-1?view=net-5.0
- 命名空间:
- System.Runtime.CompilerServices
- 程序集:
- System.Runtime.dll
表示等待异步任务完成的对象并为结果提供参数。
此 API 支持产品基础结构,不能在代码中直接使用。
C#public struct TaskAwaiter<TResult> : System.Runtime.CompilerServices.ICriticalNotifyCompletion
类型参数
- 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;
}