Customer
いくつかのプロパティ ( ID
、FirstName
、 ) を持つオブジェクトがあるとしますLastName
。私はデフォルトのコンストラクターを持っていますCustomer()
がCustomer(DataRow dr)
、データベースからこのオブジェクトをロードするのは簡単な方法であるため、 も持っています。
Customer(int ID)
をロードしたいがCustomer
、まだデータベースにアクセスしていない場合に備えて、別のコンストラクター をセットアップしたくなることがよくあります。私にとって最も簡単な方法は次のようです。
Customer(int ID)
{
DataTable dt = DataAccess.GetCustomer(ID);
if (dt.Rows.Count > 0)
{
// pass control to the DataRow constructor at this point?
}
else
{
// pass control to the default constructor at this point?
}
}
DataRow コンストラクターに既にあるコードを再利用することは理にかなっていますが、それを呼び出して、それが提供するものを返す方法がわかりません。グーグルを通じて、: this()
構文でのコンストラクターのオーバーロードに関する情報を見つけましたが、これらの例はすべて、私がやろうとしていることと後方または互換性がないようです。
そのため、コンストラクターの理解にはギャップがありますが、整理できないようです。私は何が欠けていますか?