序列化和属性
本文关键字:属性 序列化 | 更新日期: 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"。
大多数序列化器不使用此标志