任务或任务< TResult>对象是等待的,所以我们可以在返回值为Task或Task< TResult>的那些上使用等待键.
任务或任务< TResult>是最常用的等待对象.
任务或任务< TResult>是最常用的等待对象.
我们也可以定义我们自己的等待对象.对象应具有以下资格.
>它有一个GetAwaiter()方法(实例方法或扩展方法);
>它的GetAwaiter()方法返回一个等待程序.一个对象是一个等待者
如果:
>它实现INotifyCompletion或ICriticalNotifyCompletion
接口;
>它有一个IsCompleted,它有一个getter并返回一个布尔值;
>它有一个GetResult()方法,它返回void或一个结果.