オブジェクト初期化子内のオブジェクトのプロパティを参照したいと思います。問題は、変数がまだ存在していないため、通常のように参照できないことです(object.method)。オブジェクトの初期化中に作成時にオブジェクトを参照するためのキーワードがあるかどうかはわかりません。
次のコードをコンパイルすると、エラーが発生します-'名前'Width'はコンテキストに存在しません。このエラーが発生する理由は理解していますが、私の質問は次のとおりです。これを行うための構文はありますか?
public class Square
{
public float Width { get; set; }
public float Height { get; set; }
public float Area { get { return Width * Height; } }
public Vector2 Pos { get; set; }
public Square() { }
public Square(int width, int height) { Width = width; Height = height; }
}
Square mySquare = new Square(5,4)
{
Pos = new Vector2(Width, Height) * Area
};
「mySquare」の観点から、プロパティ「Width」、「Height」、および「Area」を参照したいと思います。