このクラスの設定に使用します。C#初期設定の構文
public class X
{
public Y YInstance;
public X()
{
YInstance = new Y();
}
}
public class Y
{
public long Z;
}
私はこのコードを持っていました。
var x = new X();
x.YInstance.Z = 1;
Resharperは私のコードをこれに変換したオブジェクトイニシャライザを使用するヒントを持っていました。
var x = new X { YInstance = { Z = 1 } };
私は、プロパティを記入するブラケットを使用して、通常のオブジェクトの初期化に精通しているが、私はこれが何をしているかわかりません。 ILを見ると、最初の推測だった新しい匿名クラスでYInstanceを設定しているようには見えません。それはResharperが示唆している奇妙な前と同じ機能性ではありません。
私は、検索するための言語機能のキーワードや簡単な説明を探しています。
"IDE0017 C#オブジェクトの初期化を簡略化することができます" – Reddy
R#はすでに "object initializer"を検索するキーフレーズを与えています。 – stannius
オブジェクトイニシャライザのmsdnは、新しいオブジェクトを作成せずにフォームを使用することについて言及していないことを指摘したいと思います。 https://msdn.microsoft.com/en-us/library/bb384062.aspx –