【发布时间】:2010-09-25 08:02:39
【问题描述】:
有没有办法告诉编译器,我希望我的对象默认是可序列化的?
【问题讨论】:
标签: c# .net-3.5 serialization c#-3.0
有没有办法告诉编译器,我希望我的对象默认是可序列化的?
【问题讨论】:
标签: c# .net-3.5 serialization c#-3.0
不,您需要使用 Serializable 属性来装饰对象。仅供参考,默认情况下所有对象都是 Xml 可序列化的。 Xml 序列化程序不需要该属性。
我不确定 DataContracts,但最后我检查了您是否也需要装饰它们。
【讨论】:
几乎每个序列化引擎都想知道您的对象是否合适。这可以采取以下形式:
[Serializable]/ISerializable (BinaryFormatter,SoapFormatter)[Serializable]/IXmlSerializable(和public)(XmlSerializer)[DataContract]/[MessageContract](或以上大部分)(DataContractSerializer 和变体)AFAIK,没有办法避免这一步。
【讨论】: