代码检查:'EnumeratorCancellation' 属性仅在返回 'IAsyncEnumerable<>' 的异步迭代器方法中对类型为 'CancellationToken' 的参数有效。
此检查报告 [EnumeratorCancellation] 在无效的位置被使用。 该属性仅对异步迭代器方法中类型为 CancellationToken 的参数,并返回 IAsyncEnumerable<T> 时有意义。 在其他参数类型或方法结构中,该属性无效。
示例
using System.Collections.Generic;
using System.Runtime.CompilerServices;
class C
{
public async IAsyncEnumerable<int> M([EnumeratorCancellation] int token)
{
yield return token;
}
}
using System.Collections.Generic;
class C
{
public async IAsyncEnumerable<int> M(int token)
{
yield return token;
}
}
快速修复
快速修复将移除无效的属性。 另一个有效的手动修复方式是更改方法,使该属性应用于异步迭代器返回 IAsyncEnumerable<T> 的 CancellationToken 参数上。
2026年 5月 8日