我需要重用客户指定的 DataAccess 方法。此方法返回普通数据表。 我想将此数据表转换为我的类型化数据表。列的数量和它们的类型将匹配。 异常消息“无法将‘System.Data.DataTable’类型的对象转换为‘MarketValueDataTable’类型。” 很清楚,但我该如何解决?
看过casting-a-base-type-to-a-derived-type ,但看不出如何让它发挥作用。
我无法使用数据读取器填充数据表,只能使用客户端的 DataAccess 方法。
最佳答案
只有当该方法返回的表实际上是 MarketValueDataTable
的一个实例时,转换才能工作。如果不是,您所能做的就是将数据复制到 MarketValueDataTable
的实例。例如,您可以使用 Merge
方法:
DataTable data = GetData();
MarketValueDataTable myData = new MarketValueDataTable();
myData.Merge(data);
关于c# - 将通用数据表转换为类型化数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1398609/