コードインスペクション:「with」式がオブジェクトイニシャライザーの代わりに使用されています。
このインスペクションは、通常のオブジェクト初期化子でクローンを作成せずに同じ処理を実行できるにもかかわらず、新しく作成されたオブジェクトに対して使用された with 式を報告します。 左辺がすでに new T() であり、意味のある初期化子がない場合は、最初にクローンを作成する必要はありません。 単純なオブジェクト初期化子の方が短く、分かりやすいです。
サンプル
var item = new Record() with { Value = 42, Name = "test" };
record Record
{
public int Value { get; init; }
public string Name { get; init; }
}
var item = new Record { Value = 42, Name = "test" };
record Record
{
public int Value { get; init; }
public string Name { get; init; }
}
クイックフィックス
with 式をオブジェクト初期化子に置き換えてください。
2026 年 6 月 12 日