2011-04-13 91 views
3

什么时候应该用[Serializable]属性将类标记为可序列化?文件说这个班不应该被遗传。但是,我已经将这个属性与XmlInclude属性结合使用,以便我可以序列化我的派生类。这是不正确的?序列化和属性

我正在使用XmlSerializer和StreamWriter类来序列化我的对象。

此外,我的理解告诉我,任何公共属性(get和set)都将被序列化,其他字段将被忽略。这是否正确?

任何指导,将不胜感激。

感谢

回答

2

我什么时候应该标记一个类为 序列化与[Serializable接口] 属性?文档说 该类不应该被继承。 但是,我已将 与属性XmlInclude 结合使用此属性,所以我也可以序列化我的 派生类。这是 不正确?

我正在使用XmlSerializer和 StreamWriter类来序列化我的 对象。

您从不需要用于XML序列化的[Serializable]属性。它仅用于序列化与格式化(例如BinaryFormatterSoapFormatter

而且,我的理解告诉我,任何公共属性(获取和设置)将被序列化,其他领域都将被忽略。这是否正确?

这是正确的。只有公共读/写属性是序列化的,而不是字段。

0

XmlSerializer不检查此标志;答案是“当使用BinaryFormatter(或其他一些;不是很多)而不实现ISerializable时”。

大多数串行器不使用此标志。

相关问题