Nach http://msdn.microsoft.com/en-us/library/system.data.datatable.clone.aspx "Wenn diese Klassen abgeleitet wurden, wird der Klon auch die gleichen abgeleiteten Klassen sein".Wenn System.Data.DataTable abgeleitet wird, wie gibt DataTable.Clone die abgeleitete Klasse zurück?
In dem folgenden Beispielcode wie "weiß" die Klonmethode für die Basisklasse, die abgeleitete Klasse zu erstellen?
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);
}
Ich sehe das ist cool - danke! –