JetBrains Rider 2026.1 Help

コードインスペクション: ローカル変数がプライマリコンストラクターパラメーターを隠している

以下の例では、 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); } }
2026 年 6 月 12 日