我已将DataTable
课程扩展如下:
class DataTableExtended:DataTable
{
public void specialMethod()
{}
}
我想将一个 XML 节点解析到这个子类中,我尝试使用以下方法:
public DataTableExtended parseNodeToDataTable()
{
DataSet ds = new DataSet();
XmlNodeReader reader = new XmlNodeReader(this.resultNodes);
ds.ReadXml(reader);
DataTable dt = ds.Tables[1];
DataTableExtended dte=(DataTableExtended) dt;
return dt;
}
它正在抛出一个InvalidCastException
. 从我到目前为止所读到的,这是因为不可能将父类转换为子类。那准确吗?如果是这样,我知道我可以重写DataTableExtended
构造函数,以便它接受一个DataTable
参数并复制该表的信息,但我希望有一种更直接的方法来做到这一点。