ReSharper 2025.3 ヘルプ

コード検査: 作成されたタイプが明らかな場合は、「新しい」式の優先スタイルを使用する

C# 9.0 以降、型を推測できる場合は、明示的な型指定なしで、ターゲット型の new 演算子を使用してオブジェクトを作成できます。つまり、List<string> _myList = new List<string>(); ではなく List<string> _myList = new(); です。

コンテキストに応じて、オプションの型指定は、冗長な情報でコードを乱雑にするか、逆に読みやすさを向上させる可能性があります。

このインスペクションは、次の場合のように、作成された型が使用箇所から明らかな場合に、オブジェクト作成式のコードスタイル設定を制御します。

  • フィールド / 定数 / プロパティ / イベントの初期化子 private Test field = new()

  • 明示的な型が優先される場合のローカル変数の初期化子 Test local = new()

  • 式本体のメンバーの戻り値 public List <Test> M() => new()

  • 配列初期化子 new Test[] { new(), new() } 内の値

  • コレクション初期化子 new List <Test> { new(), new() } 内の値

  • デフォルトのパラメーター値 void M(TestStruct arg = new()) { }

デフォルトでは、ReSharper は明らかな場合に冗長な型指定をハイライトし、削除できます。

ReSharper syntax style inspection: Use target-typed new

コード内の new 演算子に別のスタイルを使用する場合は、対応する設定を変更できます。

詳細については、コードの構文スタイル: オブジェクトの作成(「new()」と「新しい T()」)を参照してください。

2024 年 2 月 11 日

関連ページ:

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

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

コードの構文スタイル: オブジェクトの作成(「new()」と「新しい T()」)

C# 9.0 以降、型を推測できる場合は、明示的な型指定なしで、ターゲット型の演算子を使用してオブジェクトを作成できます。つまり、ではなくです。コンテキストに応じて、オプションの型指定は、冗長な情報でコードを乱雑にするか、逆に読みやすさを向上させる可能性があります。ReSharper は、オブジェクト作成式に 2 つのコードスタイル設定を提供します。次の場合のように、作成された型が使用箇所から明らかな場合: フィールド / 定数 / プロパティ / イベントの初期化子、明示的な型が優先される場合の...