2013-01-15 35 views
-1

複製數據我有以下類:繼承數據表和從數據表

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

回答

2

不,您不能將此DataTable分配給繼承DataTable的類的另一個實例。您需要將所有值複製到另一個表中。因此您可以使用DataTable.Merge

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