Tea*_*ild 3 c# serialization strongly-typed-dataset deserialization
我有一个winforms应用程序,它使用强类型自定义DataSet来保存数据以进行处理.它将填充数据库中的数据.
我有一个用户控件,可以获取任何自定义数据集并在数据网格中显示内容.这用于测试和调试.为了使控件可重用,我将自定义数据集视为普通的System.Data.DataSet.
我已扩展控件以允许将数据集保存到XML文件,并加载以前保存的XML文件.
我现在要做的是获取加载的数据文件,该文件被视为标准DataSet,并将其强制转换回自定义数据集.这应该不难,但我得到以下System.InvalidCastException消息:
无法将类型为"System.Data.DataSet"的对象强制转换为"CostingDataSet".
以下是问题代码的示例(它是生成异常的3的最后一行):
DataSet selected = debugDisplay.SelectedDataSet;
CostingDataSet tempDS = new CostingDataSet();
tempDS = (CostingDataSet)selected.Copy();
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我如何解决这个问题?
编辑: 根据nEM的评论我实现了这一切,一切都很好.
foreach (System.Data.DataTable basicDT in selected.Tables)
{
DataTable dt = tempDS.Tables[basicDT.TableName];
dt = basicDT.Copy();
}
Run Code Online (Sandbox Code Playgroud)
此外,SSarma建议的代码也有效.
| 归档时间: |
|
| 查看次数: |
10047 次 |
| 最近记录: |