我有一堆强类型DataSet,每个DataSet都有两个表。每个DataSet都有一个表是唯一的,但第二个表“元数据”对每个DataSet都具有相同的架构。
在运行时,我确定要使用哪个DataSet,并从DB中以适当的方式填充数据表。
然后,我想填充元数据表。对于每个DataSet,这将以相同的方式完成,因此我想使用相同的代码。一个明显的方法是让每个数据集实现一个完成这项工作的接口。
当我想为这些数据集声明这个接口(IMyInterface)时,问题就出现了。
每个强类型DataSet都包含在大量文件中。第一个也是关键的文件是MyDataSet。Designer.cs文件。..这是一个自动生成的文件。开头附近有一行字:
public partial class MyDataSet : global::System.Data.DataSet
如果我告诉VS我想编辑DataSet的代码,它会为我创建一个名为MyDataSet.cs的新文件。但里面的声明看起来像这样:
partial class MyDataSet
partial class MyDataSet : IMyInterface
看起来我好像在添加一个子类。
处理这个问题的正确方法是什么?更改设计器文件,并确保VS永远不会重新生成它?是否将超类和接口声明都添加到另一个文件中?完全是别的东西?