私は3つのクラスで構成されるクラス階層を持っています:
Customer
{
public int Id {get; set;}
public string Phone {get; set;}
public string Address {get; set;}
public abstract string Description {get;}
}
Person: Customer
{
public string Name { get; set; }
public string Surname { get; set; }
public overrides string Description { get { return this.Name + " " + this.Surname; } }
}
Company: Customer
{
public string CompanyName {get; set;}
public overrides string Description { get { return CompanyName; } }
}
Customer に基づいてオブジェクト データ ソースからデータを取得する BindingSource を含むフォームがあり、同じフォームを使用して、会社と人の両方のデータを入力および編集したいと考えています。
ここでいくつか質問があります。
- フォームの一部のフィールドを派生クラスのプロパティにバインドすることはできますか? どうすればいいですか?
- バインディングを容易にするためだけに、サブクラスからプロパティを公開するファサード/コンポジション クラスを実装する価値はありますか?
- バインディング機能に頼るのではなく、コードで UI との間でデータを移動する方がよいでしょうか?