为什么不在c#中对XMLSerializer使用序列化属性。
http://msdn.microsoft.com/en-us/library/71s92ee1.aspx
这里OrderedItem类没有序列化。原因何在?
发布于 2013-02-27 17:00:37
OrderedItem是非常序列化的……我猜你的意思是“为什么它没有[Serializable]属性?”如果是这样,答案很简单:序列化程序不需要它。这是BinaryFormatter等人需要的,但他们做的事情有点不同--他们序列化了对象的内部状态。然而,现在的大多数序列化程序都不检查这一点;例如:
XmlSerializerDataContractSerializer (以及所有的variants)JavascriptSerializer基本上,这是没有必要的。也许关键的区别在于,BinaryFormatter可能会意外地(没有该属性)通过远程处理边界发送不适当的数据,这可能会导致大问题。
许多“轻量级”框架甚至都没有定义[Serializable]。
https://stackoverflow.com/questions/15107774
复制相似问题