谈谈C#对象的序列化

最近做项目,很多对象都存储在客户机上,对于c#开发的windows程序来说,简单的 C# 对象 xml序列化就很方便实用

1. 类型支持序列化

     类型能序列化,需要给类型加上特性[Serializable]

2. 简单基元属性序列化,两个选择

      可以序列化成节点元素 Element [XmlElement("OpticalParams")]

      也可以序列化成节点的属性 [XmlAttribute]

      注意,如果给复杂类型加[XmlAttribute],那么反序列化或者序列化的时候会报错,简单来说就是属性的位置不能解析这么复杂的对象,必须序列化成节点元素 Element [XmlElement("OpticalParams")]比如如下

       

 

         

 

        

 

 

3. 复杂类型的属性序列化

    这个一般序列化成节点元素。Element [XmlElement("OpticalParams")]

4. 集合属性序列化

  

5. 不参与序列化

     [XmlIgnore] 

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

   

 

posted @ 2022-07-07 22:55  LearningAlbum  阅读(372)  评论(0)    收藏  举报