【发布时间】:2010-10-18 06:26:25
【问题描述】:
我想知道 .NET 中 xml 序列化可能失败的最常见场景。
【问题讨论】:
标签: c# .net xml-serialization
我想知道 .NET 中 xml 序列化可能失败的最常见场景。
【问题讨论】:
标签: c# .net xml-serialization
我在这里主要考虑XmlSerializer:
object 成员真的没什么用DataContractSerializer 解决了其中的一些问题,但有其自身的局限性:
【讨论】:
无法轻松序列化泛型集合。
查看另一个问题:C# XML Serialization Gotchas
【讨论】:
根据序列化程序,循环引用可能不起作用
【讨论】:
对我来说,使用 shadows 关键字也破坏了序列化和反序列化,因为阴影会导致该属性的新实现存在,使其与正确重建不兼容。仅当您想重新键入子类的特定内容时才使用重载。
【讨论】:
Shadows”相当于C#中的new:public new int PropertyName {get;set;},其中基类有一个public virtual int PropertyName ...。
TimeSpan 对象不可序列化。 IDictionary-implementing 类型也不是可序列化的(尽管它们可以通过一些手动按摩来序列化)。
【讨论】:
AFAIK,自 .NET 2.0 起,标记为 [Obsolete] 的类不会被 XmlSerializer 序列化
【讨论】: