翻译自一篇博文,原文:Extending the async methods in C#
异步系列
在上一篇中我们讨论了C#编译器是如何转换异步方法的。在这一篇,我们将重点讨论C#编译器为自定义异步方法的行为提供的可扩展性。
关于如何控制异步方法机制有3种方法:
- 在
System.Runtime.CompilerServices
命名空间中提供你自己的async method builder
。 - 使用自定义的task awaiter。
- 定义你自己的“类任务”(task-like)类型
System.Runtime.CompilerServices
命名空间中的自定义类型
上