我有以下课程:
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();
OR
ExcelStaticDataTable specialtable=new ExcelStaticDataTable("table1");
specialtable=(ExcelStaticDataTable)Foo().Copy();
.Net中是否有用于使用DataTable
实例填充我的派生类型?
答案 0 :(得分:2)
不,您无法将此DataTable
分配给继承DataTable
的类的另一个实例。您需要将所有值复制到另一个表中。因此,您可以使用DataTable.Merge
。
specialtable.Merge(Foo()); // same as t1.Merge(t2, false, MissingSchemaAction.Add);