【发布时间】:2015-01-05 08:23:19
【问题描述】:
我需要我所有的TableAdapters 来实现自定义接口。问题是接口定义的一些成员驻留在 DataSet 的设计器文件中,我不想(也不应该)更改该文件,因为该代码将自动重新生成。出于同样的原因,我也无法将这些成员重新定位到我的代码文件中。我的出路是什么?
【问题讨论】:
-
它是一个强类型数据集。每个 DataTable 都有自己的 TableAdapter,不幸的是它继承自
Component而不是DbTableAdapter或更具体的东西,所以我试图通过在所有这些适配器中实现我自己的接口来填补空白。 -
您可以创建一个自定义类来实现接口并扩展 DataSet 或 Component 或其他任何东西,然后使用它来代替预定义的 UI 组件。这样,您将同时拥有自定义行为和 TableAdapter。
-
@pasty:您使用过强类型数据集吗?这将有助于理解我在说什么。我有多个 DataTable,每个都有自己的 TableAdapter。它们都已经具有那些共同的属性和方法(具有完全相同的签名)。只是这些TableAdapter类没有继承自一个好的基类,也没有实现一个通用的接口,所以我不得不分别为每个TableAdapter编写相同的代码。有了它们都实现的自定义接口,我可以使用多态性一次性处理所有这些适配器。
-
是的,我使用过强类型数据集。我确实相信,TableAdapter 类可以是extended through a partial class,或者可以创建 TableAdapter 和/或 DataSet 的基类(稍后将使用它来代替预定义的组件)。
-
只需创建每个适配器的部分类并实现接口。
标签: vb.net class interface partial-classes