我正在尝试使用泛型创建基本表单,所以我可以这样做:
public class GenericForm<T> : Form where T : IEntity
然后:
public class ManageCustomerForm : GenericForm<Customer>
但我无法查看ManageCustomerForm的设计师。我理解这是因为VS试图创建一个GenericForm实例,但不知道在T上使用什么类型。
所以我尝试了一些使用TypeDescriptionProviders的解决方案,因为它适用于基本表单类是抽象的情况。但它也不起作用。有可能吗?
我想避免创建一个像这样的中间类:
public class GenericForm<T> : Form where T : IEntity
public class ManageCustomerIntermediateForm : GenericForm<Customer>
public class ManageCustomerForm : ManageCustomerIntermediateForm
答案 0 :(得分:0)
我认为Customer是表单的数据。不是将数据绑定到表单,而是为Customer使用单独的数据类。 DataBinding可用于将用户界面控件绑定到数据源。
另一个想法是使用模型 - 视图 - 控制器设计模式将表单(视图)与模型(客户)分开。