ReSharper 2025.2 Help

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

This inspection detects scenarios when method or function uses a CancellationToken from an external context instead of the one passed as an argument.

错误用法:

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();

在这里, 局部函数 声明了一个参数 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月 27日