ReSharper 2025.3 ヘルプ

コード検査: メンバー初期化値が無視される

コンストラクターがパラメーターからフィールドを初期化する場合、宣言時にフィールドを初期化する必要はありません。以下の例では、_contents にコンストラクターの値が割り当てられているため、ReSharper はその宣言から _contents の初期化を削除します。

コンストラクター内のフィールドを初期化することは、いくつかの理由から望ましいことです。例: 複数のコンストラクターがある場合、異なる値を持つフィールドを初期化することができます。一般に、複雑なロジックの場合、コンストラクター内の初期化が推奨されます。

ReSharper は不要なフィールドイニシャライザーの削除を提案しています:

public class MyClass { private readonly List<object> _contents = new List<object>(); public MyClass(List<object> list) { _contents = list; Console.WriteLine(_contents.ToString()); } }
public class MyClass { private readonly List<object> _contents; public MyClass(List<object> list) { _contents = list; Console.WriteLine(_contents.ToString()); } }
2024 年 4 月 08 日

関連ページ:

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

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

コード検査: メンバーは外部クラスから静的メンバーを隠す

以下のコード例には、少なくともすべての宣言を一度に監視できる現在の状態では、それほど問題はありません。ただし、クラスが大きくなり、がの両方の宣言にそれほど近くないため、コードを読んだ人は、がではなくを使用していると誤って考える可能性があります。さらに、誰かが後でから宣言を削除した場合、の残りの使用箇所がの値を返すことに気付かない可能性があります。ReSharper は、このコードの潜在的な問題に注意を引くために警告を発行します。のこの宣言は確かに意図されているため、クイックフィックスはありません...