我希望在其类层次结构树中创建一个POCO [Serializable]而不是任何其他类成员。我知道有[NonSerialized]仅适用于字段,但有没有办法在POCO上使用[Serializable]排除它们或选择特定成员?
答案 0 :(得分:4)
你应该看看DataContractSerializer
;它使用“选择加入”方法进行序列化。
同样最好阅读XmlSerializer vs DataContractSerializer: Serialization in Wcf以获取示例,并在DataContractSerializer
和XmlSerializer
之间进行比较。
XmlSerializer已经在.Net中 从版本1.0开始,并为我们服务 很好的一切从Remoting,Web 服务,序列化到文件等 但是在.Net 3.0中 DataContractSerializer出现了。 并且突然间有很多指导 建议我们应该使用它 旧的尝试和真正的XmlSerializer。 Wcf甚至将此作为默认值 序列化机制。该 问题是,“这真的更好吗?” 判决结果是肯定的,不是。最喜欢 这取决于你的事情 实施和你需要的。对于 Wcf,你应该更喜欢使用 DataContractSerializer的。如果你需要 完全控制xml的外观 不过,你应该回去了 XmlSerializer的。