以下代碼未設置屬性。 這只是什麼都不做,並在調試只是向前跳轉,甚至與F11設置單個屬性時無法設置級聯屬性正常工作
job.TDataReference.CheckedOut = false;
作業類型的TJob 類我自己建與物業:
public TDataReference TDataReference
{
get
{
return new TDataReference(this.DataReference);
}
set { this.tDataReference = value; }
}
TDataReference也是I類自己建與物業:
public bool CheckedOut
{
get { return (dataRow[CHECKEDOUT].ToString() == "True"); }
set { dataRow[CHECKEDOUT] = value.ToString(); }
}
與和類型的私有成員數據行的DataRow
什麼是有趣的是,下面的代碼工作正常,並將屬性設置:
TDataReference dr = job.TDataReference;
dr.CheckedOut = false;
誰能解釋給我。
更新
非常感謝您的回答! 我明白這個問題。 :)
tDataReference取決於this.DataReference中的值,所以最早的時間tDataReference可以設置在何時this.DataReference已知。你怎麼看待改變它:
private TDataReference tDataReference;
public TDataReference TDataReference
{
get
{
if(tDataReference == null | tDataReference.Id != this.DataReference)
{
this.tDataReference = new TDataReference(this.DataReference);
}
return this.tDataReference
}
set { this.tDataReference = value; }
}
和wil設置級聯屬性工作然後???
您的意思是創建它檢索一個新的'TDataRefernece'每一次?這違背了制定者的觀點。你什麼意思'不設置屬性'?分配一個值?什麼是'tDataReference'? – 2013-04-25 11:55:32