ReSharper 2025.3 ヘルプ

コード検査: ローカル変数は主要なコンストラクターパラメーターを非表示にする

以下の例では、Print() メソッド内で宣言されたローカル変数 str はプライマリコンストラクターパラメーターと同じ名前を持っていますが、Console.WriteLine(str);two を出力することは明らかです。

ここで、Print() 内の str の宣言と呼び出しが長いコードによって分離されていると想像してください。この場合、コードの読者は変数宣言を見逃し、Console.WriteLine(str); がプライマリコンストラクターパラメーターから受け取った one を出力すると想定する可能性があります。

混乱や潜在的なエラーを避けるために、ローカル変数の名前を変更します。

public class MyTest { public MyTest() { var sample = new MySample("one"); } } public class MySample(string str) { void Print() { var str = "two"; Console.WriteLine(str); } }
2024 年 2 月 11 日

関連ページ:

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

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

コード検査: パラメーターはプライマリコンストラクターパラメーターを非表示にする

オブジェクト初期化子を使用して変数を初期化すると、初期化中に例外がスローされた場合に問題が発生する可能性があります。これが可能になるのは、実行が句に入る前にコンパイラーがオブジェクトを作成して初期化するためです。初期化中に例外がスローされた場合、プログラムは句に入らず、オブジェクトは破棄されません。以下の例では、メソッドのパラメーターは、クラスのプライマリコンストラクターパラメーターと同じ名前を持っていますが、がを出力することは明らかです。ここで、とが複数のパラメーターを持つ長い宣言であると想像...