我想設置修改標誌當過我改變類屬性的一個如下圖所示問題得到;組;
public bool Modified { get; set; }
public bool Enabled { get; set { Modified = true; } }
問題是我有一個錯誤,編譯器要求我聲明主體爲獲取; 我寧願不必聲明一個單獨的私有變量,是否有另一種方式來做到這一點。
C#,NET-2
感謝
我想設置修改標誌當過我改變類屬性的一個如下圖所示問題得到;組;
public bool Modified { get; set; }
public bool Enabled { get; set { Modified = true; } }
問題是我有一個錯誤,編譯器要求我聲明主體爲獲取; 我寧願不必聲明一個單獨的私有變量,是否有另一種方式來做到這一點。
C#,NET-2
感謝
號如果你想要一個明確的制定者,你不能使用自動吸氣。所以你必須有這樣的東西:
private bool _Enabled;
public bool Modified { get; set; }
public bool Enabled
{
get
{
return _Enabled;
}
set
{
_Enabled = value;
Modified = true;
}
}
這是不可能的。 C#不允許你指定一個機構或一個其他的get
或set
,但有其他的自動執行。如果您需要這樣做,您需要一個帶有後臺字段的手動屬性。
注意,你想是這樣的:
public bool Modified { get; set; }
private bool enabled;
public bool Enabled {
get { return this.enabled; }
set {
if(this.enabled != value) {
this.enabled = value;
this.Modified = true;
}
}
}
我認爲你需要寫getter和setter用於啓用全:
public bool Modified { get; set; }
private bool enabled;
public bool Enabled
{
get { return enabled; }
set
{
if (enabled != value)
{
Modified = true;
enabled = value;
}
}
}
因爲自動生成的成員將用於創建get; set;
財產,那麼你不能宣稱他們中的一個,否則你必須自己
將它們設置你也許可以只設置`Modified`是`在二傳手TRUE`如果`_Enabled! =值`。 – jason 2011-01-12 22:53:50
@Jason,我只是不停地像的問題。您可能是對的,取決於所需的行爲。 – 2011-01-12 22:56:05