从DataTable继承数据并从DataTable复制数据

本文关键字:数据 DataTable 复制 继承 | 更新日期: 2023-09-27 17:53:12

我有以下类:

public class ExcelStaticDataTable : DataTable
 {
        public ExcelStaticDataTable(string tableName): base(tableName)
        {
        }
 }

另一方面,我有一个方法返回一个数据表:

public DataTable Foo()
{
    return new DataTable();
}

假设Foo返回一个已填充的数据表,我想要的是使用方法Foo,填充我的其他类型,如:

ExcelStaticDataTable specialtable=new ExcelStaticDataTable("table1");
specialtable.DefaultView.Table=Foo();

ExcelStaticDataTable specialtable=new ExcelStaticDataTable("table1");
specialtable=(ExcelStaticDataTable)Foo().Copy();

是否有任何在。net实现填充我的衍生类型与DataTable实例?

从DataTable继承数据并从DataTable复制数据

不,您不能将此DataTable分配给继承DataTable的类的另一个实例。您需要将所有值复制到另一个表中。因此,您可以使用DataTable.Merge

specialtable.Merge(Foo()); // same as t1.Merge(t2, false, MissingSchemaAction.Add);