什么时候应该用[Serializable]属性将类标记为可序列化?文件说这个班不应该被遗传。但是,我已经将这个属性与XmlInclude属性结合使用,以便我可以序列化我的派生类。这是不正确的?序列化和属性
我正在使用XmlSerializer和StreamWriter类来序列化我的对象。
此外,我的理解告诉我,任何公共属性(get和set)都将被序列化,其他字段将被忽略。这是否正确?
任何指导,将不胜感激。
感谢
什么时候应该用[Serializable]属性将类标记为可序列化?文件说这个班不应该被遗传。但是,我已经将这个属性与XmlInclude属性结合使用,以便我可以序列化我的派生类。这是不正确的?序列化和属性
我正在使用XmlSerializer和StreamWriter类来序列化我的对象。
此外,我的理解告诉我,任何公共属性(get和set)都将被序列化,其他字段将被忽略。这是否正确?
任何指导,将不胜感激。
感谢
我什么时候应该标记一个类为 序列化与[Serializable接口] 属性?文档说 该类不应该被继承。 但是,我已将 与属性XmlInclude 结合使用此属性,所以我也可以序列化我的 派生类。这是 不正确?
我正在使用XmlSerializer和 StreamWriter类来序列化我的 对象。
您从不需要用于XML序列化的[Serializable]
属性。它仅用于序列化与格式化(例如BinaryFormatter
,SoapFormatter
)
而且,我的理解告诉我,任何公共属性(获取和设置)将被序列化,其他领域都将被忽略。这是否正确?
这是正确的。只有公共读/写属性是序列化的,而不是字段。
XmlSerializer不检查此标志;答案是“当使用BinaryFormatter(或其他一些;不是很多)而不实现ISerializable时”。
大多数串行器不使用此标志。