0

我有以下课程:

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

        }

 }

另一方面,我有一个返回 DataTable 的方法:

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实例填充我的派生类型?

4

1 回答 1

2

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

specialtable.Merge(Foo()); // same as t1.Merge(t2, false, MissingSchemaAction.Add);
于 2013-01-15T15:43:15.387 回答