我的桌面应用程序使用XmlSerializer
序列化对象。我被建议改为使用DataContractSerializer
我应该在哪种情况下使用DataContractSerializer
?
非常感谢
评论。
1.输出XML文件存储在本地。没有其他应用程序反序列化该XML文件中的对象
2.我的应用程序与.NET Framework 3.5 SP1一起运行。
答案 0 :(得分:107)
丹·里格斯比(Dan Rigsby)就此发表了最后的帖子 - 去看看吧!
XmlSerializer vs. DataContractSerializer (web archive)
他说所有的话都说得非常有说服力。
简而言之:
XmlSerializer:
DataContractSerializer是:
[DataMember]
的内容才会被序列化[DataMember]
的所有内容都会被序列化 - 无论是public
还是private