![]() |
1
26
根据序列化程序类型,有几个选项。 如果你能用 DataContractSerializer BinaryFormatter 那你可以用 OnSerializedAttribute 并将子对象的父属性设置为:
XmlSerializer 你应该实施 IXmlSerializable ,使用 XmlIgnoreAttribute 并在ReadXml方法中实现了或多或少相同的逻辑。但在这种情况下,还应手动实现所有Xml序列化逻辑:
|
![]() |
2
2
如果可以使用DataContractSerializer而不是XMLSerializer,则可以在DataContract属性上使用IsReference属性。启用此选项将保留引用,以便在反序列化时重新创建它们。 DataContractSerializer也可以序列化为XML,但是您对输出的控制要比使用旧的XMLSerializer少一些。您可以在此处阅读有关序列化程序的更多信息: http://www.danrigsby.com/blog/index.php/2008/03/07/xmlserializer-vs-datacontractserializer-serialization-in-wcf/ |
![]() |
3
1
将parentObject属性标记为[NonSerialized]。 https://blog.kowalczyk.info/article/8n/serialization-in-c.html |