谈谈C#对象的序列化
最近做项目,很多对象都存储在客户机上,对于c#开发的windows程序来说,简单的 C# 对象 xml序列化就很方便实用
1. 类型支持序列化
类型能序列化,需要给类型加上特性[Serializable]
2. 简单基元属性序列化,两个选择
可以序列化成节点元素 Element [XmlElement("OpticalParams")]
也可以序列化成节点的属性 [XmlAttribute]
注意,如果给复杂类型加[XmlAttribute],那么反序列化或者序列化的时候会报错,简单来说就是属性的位置不能解析这么复杂的对象,必须序列化成节点元素 Element [XmlElement("OpticalParams")]比如如下



3. 复杂类型的属性序列化
这个一般序列化成节点元素。Element [XmlElement("OpticalParams")]
4. 集合属性序列化

5. 不参与序列化
[XmlIgnore]
复杂属性比如很大数据量的集合或者本身嵌套层次太深的属性,自身在类型序列化的时候可以单独做序列化。


浙公网安备 33010602011771号