这个问题很好地解释了序列化程序之间的功能差异。BinaryFormatter速度快,XmlSerializer可互操作等。我知道。
但是意图有什么区别?每个类的设计用途是什么?
尤其是:
- 为什么他们决定
XmlSerializer对私人数据视而不见,当BinaryFormatter看到它足够快时(通过所谓的慢反射) - 为什么他们要制作 3 个单独的 XML 序列化程序-
XmlSerializer和?SoapFormatterDataContractSerializer - 为什么有些选择加入有些选择退出?
- 为什么他们让界面如此不一致?例如 XmlSerializer 不提供
OnDeserializedCallback等效项。另一个示例 - XmlSerializerIsNullable[XmlIgnore]用于 BinarySerializer 使用的内容[OptionalField]和[NonSerialized].