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