返回IAsyncEnumerable的方法是否有明确的命名约定?
在C#5引入async和之后await用于异步编程模型之后,C#社区达成了一种命名约定,即向返回等待类型的方法添加“ Async”后缀,如下所示: interface Foo { Task BarAsync(); } 从那时起,许多异步代码分析器(基于Roslyn的和基于非Roslyn的)都被编写为在异步编程周围检测代码气味时依赖于此命名约定。 既然C#8引入了异步枚举的概念,它们本身不是可以等待的,但是可以与结合使用await foreach,似乎有两种方法可以返回命名方法IAsyncEnumerable: interface Foo { // No "Async" suffix, indicating that the return value is not awaitable. IAsyncEnumerable<T> Bar<T>(); } 要么 interface Foo { // With "Async" suffix, indicating that the overall logic is asynchronous. IAsyncEnumerable<T> BarAsync<T>(); } 是否有关于上述选项的明确的命名约定准则(来自C#语言团队,.NET Foundation或其他机构),例如C#5命名约定是如何明确标准化的,而不是由程序员根据意见进行判断的?