我想在對象初始值設定項內引用對象的屬性。問題是這個變量還不存在,所以我不能像普通的(object.method)那樣引用它。我不知道在對象初始化期間是否有關鍵字引用創建中的對象。訪問C#對象初始值設定項內的屬性讀取值
當我編譯下面的代碼時,我得到錯誤 - 名稱'寬度'在上下文中不存在。我明白爲什麼我得到這個錯誤,但我的問題是:有沒有任何語法來做到這一點?
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」來引用屬性「寬度」,「高度」和「區域」。
看代碼,因爲它使用的是'Square'實例的內部狀態設定它應該是一個只讀屬性。你怎麼看? – shahkalpesh 2011-05-02 07:16:05
這只是一個愚蠢的例子,我展示了我的想法。根據班級的目的,我會說你可能是正確的,但我很可能不會創建一個班級有一個不可變的方形:) – 2011-05-02 07:18:42
我建議使用只讀屬性的'矢量'而不是'方形'。 – shahkalpesh 2011-05-02 07:20:31