コードインスペクション:メンバー初期化値が無視される
コンストラクターがパラメーターからフィールドを初期化する場合、宣言時にフィールドを初期化する必要はありません。 以下の例では、コンストラクター内で _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());
}
}
2026 年 6 月 12 日