根據http://msdn.microsoft.com/en-us/library/system.data.datatable.clone.aspx「如果已經派生了這些類,則該克隆也將具有相同的派生類」。當派生System.Data.DataTable時,DataTable.Clone如何返回派生類?
在下面的示例代碼中,如何在基類的「克隆」方法創建派生類?
public class MyDataTable : System.Data.DataTable
{
public override System.Data.DataTable Clone()
{
//How is this a MyDataTable not a "DataTable" ?
return base.Clone();
}
}
static void Main(string[] args)
{
MyDataTable dt = new MyDataTable();
System.Diagnostics.Debug.Assert(dt.Clone() is MyDataTable);
}
我看到這很酷 - 謝謝! – 2010-11-21 19:25:56