4

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

4

1 回答 1

4

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

此外,阅读XmlSerializer 与 DataContractSerializer:Wcf中的序列化以作为示例以及 和 之间的比较DataContractSerializer也是一个好主意XmlSerializer

XmlSerializer 从 1.0 版开始就在 .Net 中,并且为我们提供了很好的服务,从 Remoting、Web 服务、序列化到文件等。但是在 .Net 3.0 中出现了 DataContractSerializer。突然之间,很多指导建议我们应该使用它而不是旧的、经过验证的 XmlSerializer。Wcf 甚至将其用作序列化的默认机制。问题是,“真的更好吗?”。结论是肯定的,否定的。像大多数事情一样,它取决于您的实施和您的需要。对于 Wcf,您应该更喜欢使用 DataContractSerializer。如果您需要完全控制 xml 的外观,您应该返回到 XmlSerializer。

于 2009-06-18T14:48:12.780 回答