我有4个C# File.WriteAllBytes("testFile.csv", fileBytes);
具有几乎相同的属性。具体而言,许多属性具有相同的名称和类型。但是,我不能轻易地将它们抽象为超类,因为DataSets
是使用“DataSets
”程序从XML schema
自动生成的,并且如果模式曾经需要重新生成它们变化。
DataSet也非常复杂(每行14000行代码)。
我想写一些只使用共同属性的常用例程。有没有办法做到这一点?
到目前为止,这是一些非理想的想法:
答案 0 :(得分:0)
我最终选择了接口。这是相当多的工作,因为我已经有20个接口,还没有完成。我仍然有两种想法,即使后期绑定方法可能更好,使用字符串而不是强类型来选择数据。
对于将来遇到这种情况的人,我有一个提示,使接口方法更容易被接受。在我的第一次尝试中,我无法使继承定义在部分类中工作,因此我直接编辑生成的DataSet类以向每个类添加20个接口继承语句。当类重新生成时,这将成为一个问题。但是,我现在发现问题是因为类嵌套,它可以在一个单独的文件中完成,而不会更改自动生成的类文件。
以下是需要一个人的具体示例:
namespace GvResults // namespace for this auto-generated DataSet
{
public partial class NewDataSet // Main class in the auto-generated DataSet
{
public partial class ResultSetRow : ResultSetDataFns.IResultSetRow { } // Add interface inheritance to a nested class in the auto-generated DataSet
public partial class RiskRecordRow : ResultSetDataFns.IRiskRecordRow { }
// ...etc...
}
}