今天写了个类继承了DataTable。当是用Clone方法时,不知道该怎么处理了。基类的Clone返回的是基类的对象。看了半天MSDN帮助也没有看出个所以然。后来在网上搜索了一下,有了结果。
据说。Clone()方法返回的是object类型的,可以指定为子类型。经测试,执行子类型的Clone()方法是也进入了子类的构造函数。
public class ChieldDataTableClass:DataTable
{
private string className = "";
public string ClassName
{
get { return className; }
set { className = value; }
}
public ChieldDataTableClass Clone()
{
return (ChieldDataTableClass)(base.Clone());
}
public ChieldDataTableClass():base()
{
this.className = "dfdjoi";
}
}