在我的应用程序的一个部分中,我使用从 xsd 方案生成的类型 - 我有 2008 和 2009 两个版本的架构 - 我使用的类型是 DatumType - 在每个方案中,该类型都包含相同的属性 - 它们是精确的,除了命名空间。 有什么方法可以将 DatumType (2008) 转换为 DatumType (2009),以便我可以在我的应用程序中仅使用一种类型而不是两种类型?
我正在使用 c# 和 win 表单,谢谢!
最佳答案
不,没有办法将一种类型转换为另一种类型,因为据编译器所知,这是两种不相关的类型。
如果目标类型的字段是可赋值的,您可以编写一个简短的方法,使用反射来复制字段。
您还可以构建将源类型的对象保存到 XML 的代码,并将该 XML 读取到目标类型的对象中。这稍微脆弱一些,因为它依赖于相同字段的存在以及它们以相同方式转换为 XML 的事实。
关于c# - 类型转换为具有相同属性的另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10218543/