次のコードはプロパティを設定しません。F11を使用しても、何もせず、デバッグ時にジャンプするだけです
job.TDataReference.CheckedOut = false;
ジョブはタイプ TJob A クラスで、プロパティを使用して自分で作成します。
public TDataReference TDataReference
{
get
{
return new TDataReference(this.DataReference);
}
set { this.tDataReference = value; }
}
TDataReference は、次のプロパティを使用して自分で作成したクラスでもあります。
public bool CheckedOut
{
get { return (dataRow[CHECKEDOUT].ToString() == "True"); }
set { dataRow[CHECKEDOUT] = value.ToString(); }
}
および DataRow 型のプライベート メンバー 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; }
}
そして、カスケードプロパティの設定が機能しますか???