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
そのテーブルの情報をコピーするようにコンストラクターを書き直すことができることはわかっていますが、これを行うためのより直接的な方法があることを望んでいました。