序列化POCO排除类成员

时间:2009-06-18 14:45:45

标签: c# serialization poco class-hierarchy

我希望在其类层次结构树中创建一个POCO [Serializable]而不是任何其他类成员。我知道有[NonSerialized]仅适用于字段,但有没有办法在POCO上使用[Serializable]排除它们或选择特定成员?

1 个答案:

答案 0 :(得分:4)

你应该看看DataContractSerializer;它使用“选择加入”方法进行序列化。

同样最好阅读XmlSerializer vs DataContractSerializer: Serialization in Wcf以获取示例,并在DataContractSerializerXmlSerializer之间进行比较。

  

XmlSerializer已经在.Net中   从版本1.0开始,并为我们服务   很好的一切从Remoting,Web   服务,序列化到文件等   但是在.Net 3.0中   DataContractSerializer出现了。   并且突然间有很多指导   建议我们应该使用它   旧的尝试和真正的XmlSerializer。   Wcf甚至将此作为默认值   序列化机制。该   问题是,“这真的更好吗?”   判决结果是肯定的,不是。最喜欢   这取决于你的事情   实施和你需要的。对于   Wcf,你应该更喜欢使用   DataContractSerializer的。如果你需要   完全控制xml的外观   不过,你应该回去了   XmlSerializer的。