ReSharper 2026.1 ヘルプ

コード検査: 「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 を宣言していますが、それを使用する代わりに、外側の methodTokenFoo に渡されるため、一貫性のないキャンセル動作が発生する可能性があります。

メソッドまたは関数に渡されるトークンが一貫して使用されていることを確認します。

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 年 3 月 25 日

関連ページ:

コードインスペクション設定を構成する

設計時コードインスペクションを構成する:デフォルトでは、ReSharper は、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかに関係なく、コードインスペクションは常に特定のスコープで実行できます。メインメニューからを選択するか、Alt+R O を押してから、左側のを選択します。設計時コードインスペクションを切り替えるには、コード分析を有効にするチェックボックスを使用し...

コード検査: 重複した記述

このインスペクションは、/、ブロックなどの条件付きブランチブロック内の繰り返し文を検出します。これらの構造におけるロジックの繰り返しは、コードの可読性と保守性に悪影響を及ぼす可能性があります。重複文を削除すると、コードが簡素化され、エラーが発生しにくくなり、変更への適応が容易になります。以下の例では、両方の分岐フローで同じ文が実行されます。文内の重複文を削除してもセマンティクスは変わりませんが、コードの明瞭性と可読性は大幅に向上します。public string CheckResult(bool...