序列化和属性

本文关键字:属性 序列化 | 更新日期: 2023-09-27 17:49:54

何时应该用[serializable]属性将类标记为serializable ?文档说这个类不应该被继承。但是,我将这个属性与XmlInclude属性结合使用,这样我也可以序列化派生类。这是不对的吗?

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

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

请指教。

谢谢

序列化和属性

何时应该将类标记为用[serializable]属性?文件是这么说的类不应该被继承。但是,我在中使用了这个属性与XmlInclude的连接属性,以便序列化派生类也是如此。这是不正确的?

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

XML序列化不需要[Serializable]属性。它只用于格式化器的序列化(例如BinaryFormatter, SoapFormatter)

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

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

XmlSerializer不检查此标志;答案是"当使用BinaryFormatter(或其他一些;并没有实现isserializable"。

大多数序列化器不使用此标志