我有一个由 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; } }
}
我有一个带有 BindingSource 的表单,它根据客户从对象数据源获取数据,我想使用相同的表单为公司和人员输入和编辑数据。
我在这里有几个问题:
- 是否可以将表单中的某些字段绑定到派生类的属性?我该怎么做?
- 是否值得实现一个外观/组合类来公开子类的属性以简化绑定?
- 通过代码将数据从 UI 移出/移入 UI 是否更好,而不是依赖于绑定特性?