我目前正在研究一个C#项目,其中一个主基本形式是由其他几种形式派生的。我使用实体类来处理系统中表示的每个实体的数据操作:项目,wharehouses,帐户等。这意味着每个派生表单都使用它自己的DAO类型。对不同的实体类使用相同的基本形式
我从这些派生形式调用基本功能就好了,我现在正在努力的是这样的:因为每个窗体都有不同的实体类,所以当唯一的区别是每个派生类时我需要一个特定的方法基础和派生形式之间是实体类的类型。
我有这样的事情:
int id;
int.TryParse(key.Text, out id);
instance1 = adapter1.Populate(id);
if (instance != null)
{
bindingSource.DataSource = instance1;
this.GoEdit();
this.MarkDeleted();
}
因此,例如,是什么阻止我使用这种方法的通用版本,从我的数据库填充实体类是定义在父窗体的方法时,我不得不为我的实体使用基类,因此最终我不能使用通用版本。
它困扰我,我必须一遍又一遍地复制这些代码(对于这种类型的每种方法)在每个派生形式的实现中,只是为了将实例设置为特定的实体类。应该有另一种方式,我希望以前有类似情况的人可以帮助我找到解决方法。
你能给的更多细节什么INSTANCE1和适配器1是谁? – 2011-04-10 23:47:22
在我的基本表单中,instance1是基本实体类,adapter1是包含所有update/insert/delete方法的数据访问类。我使用实体类作为表格字段的映射只是为了操作数据..所以问题是,在我的基本形式instance1引用所有基本为空的实体的基类,我需要一种方法来调用派生类为每个派生形式。 – Enmanuel 2011-04-10 23:54:17