注意:XMLIgnore不是解决方案!
好的,继续我的问题:XML序列化和继承类型,我开始将代码集成到我正在开发的应用程序中,愚蠢地以为一切都会顺利进行。
我遇到了几个类的问题,这些类实现了IEnumerable和ICollection<T>
这些问题在于,当XMLSerializer来序列化这些时,它将它们视为外部属性,并且不使用我们想要的属性(即具有我们的AbstractXmlSerializer),而是跳转到此处并出现错误(由于类型不匹配),基本上使我们回到原点。您也不能使用XmlIgnore属性修饰这些方法,因此我们无法通过这种方式阻止它。
我的当前解决方案是删除接口实现(在此当前应用程序中,这没有什么大不了的,只是让代码更漂亮)。
我需要放下自己的尊严并接受它无法完成吗?我知道我已经推动并从XmlSerializer中得到更多的东西比它所预期的要多 :)
编辑
我还应该补充的是,我目前正在使用框架2。
更新
我已经接受了lomaxx的答案。在我的情况下,我实际上无法这样做,但我知道它可以工作。由于没有其他建议,我最终从代码中删除了接口实现。