我有一组强类型数据集,每个数据集有两个表。对于每个数据集,一个表是唯一的,但是第二个“元数据”对于每个数据集具有相同的模式。
在运行时,我确定要使用哪个数据集,并从数据库以适当的方式填充数据表。
然后我想填充元数据表。对于每个数据集,这将以相同的方式进行,因此我希望使用相同的代码。这样做的一个明显的方法是让每个数据集实现一个可以完成工作的接口。
当我想要为这些数据集声明这个接口(imyinterface)时,问题就出现了。
每个强类型数据集都包含许多文件。第一个也是关键的文件是mydataset.designer.cs文件…这是一个自动生成的文件。在开头有一行写着:
public partial class MyDataSet : global::System.Data.DataSet
我可以在这之后添加我的接口,但我有充分的理由相信当重新生成这个文件时,它可以/将被清除。
如果我告诉vs我想编辑数据集的代码,它会为我创建一个名为mydataset.cs的新文件。但其中的声明如下:
partial class MyDataSet
如果我尝试像这样向此添加接口:
partial class MyDataSet : IMyInterface
它看起来像是我试图添加一个子类。
处理这件事的正确方法是什么?更改设计器文件,并确保vs不会重新生成它?是否将超类和接口声明都添加到另一个文件中?还有别的吗?