翻譯自一篇博文,原文:Extending the async methods in C#
異步系列
在上一篇中我們討論了C#編譯器是如何轉換異步方法的。在這一篇,我們將重點討論C#編譯器爲自定義異步方法的行爲提供的可擴展性。
關於如何控制異步方法機制有3種方法:
- 在
System.Runtime.CompilerServices
命名空間中提供你自己的async method builder
。 - 使用自定義的task awaiter。
- 定義你自己的“類任務”(task-like)類型
System.Runtime.CompilerServices
命名空間中的自定義類型
上