JetBrains Rider 2025.2 Help

代码检查:可能错误使用了 'CancellationToken'

此检查会检测方法或函数使用来自外部上下文的 CancellationToken 而不是作为参数传递的 CancellationToken 的场景。

不正确的使用:

public void Bar(CancellationToken methodToken) { LocalFunction(methodToken); // do something void LocalFunction(CancellationToken localFuncToken) { Foo(methodToken); // Incorrect: should use 'localFuncToken'. } } public void Foo(CancellationToken unused) => throw new Exception();

在这里, LocalFunction 声明了一个参数 CancellationToken localFuncToken ,但没有使用它,而是将外部的 methodToken 传递给 Foo ,这可能导致不一致的取消行为。

确保传递给方法或函数的令牌被一致地使用:

public void Bar(CancellationToken methodToken) { LocalFunction(methodToken); // do something void LocalFunction(CancellationToken localFuncToken) { Foo(localFuncToken); // Correct: respects the token passed to the function. } } public void Foo(CancellationToken unused) => throw new Exception();

错误使用 CancellationToken 可能导致意外行为,例如无法取消操作或错误地取消。 此检查通过强制一致且正确地使用令牌,帮助防止这些微妙的错误。

最后修改日期: 2025年 9月 26日