码迷,mamicode.com
首页 > Windows程序 > 详细

C#序列化修改元素名称

时间:2014-11-02 18:11:14      阅读:282      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   ar   os   sp   数据   div   

有时候将自己序列化好的串要发送给别的接口,但是发现接收端的对象与自己建的对象所包含的属性不同,这时候又不想修改自己的对象的属性名字,那怎么办呢?

很简单,就是给自己的属性加上个标识就行,具体看代码:

 1     [DataContract]
 2     public class SampleClass
 3     {
 4         [DataMember(Name = "StudentName")]
 5         public string Name { get; set; }
 6         [DataMember(Name = "StudentAge")]
 7         public Int32 Age { get; set; }
 8         [DataMember(Name = "StudentAddress")]
 9         public string Address { get; set; }
10 
11         public override string ToString()
12         {
13             using (MemoryStream menoryStream = new MemoryStream())
14             {
15                 DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(SampleClass));
16                 serializer.WriteObject(menoryStream, this);
17                 return Encoding.UTF8.GetString(menoryStream.ToArray());
18             }
19         }
20     }

bubuko.com,布布扣

通过DataContract指定了数据协定之后,就可以为需要序列化的属性加上DataMember特性,并传递Name参数修改属性的名字,Order排序...是不是很简单,自己去试试吧

注意如果添加了DataContract特性后,如果属性没有添加DataMember,那该属性将不被序列化的

bubuko.com,布布扣

C#序列化修改元素名称

标签:style   blog   http   color   ar   os   sp   数据   div   

原文地址:http://www.cnblogs.com/Ares945/p/Serialization.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!