有時候?qū)⒆约盒蛄谢玫拇l(fā)送給別的接口,但是發(fā)現(xiàn)接收端的對象與自己建的對象所包含的屬性不同,這時候又不想修改自己的對象的屬性名字,那怎么辦呢?
很簡單,就是給自己的屬性加上個標識就行,具體看代碼:
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 }
通過DataContract指定了數(shù)據(jù)協(xié)定之后,就可以為需要序列化的屬性加上DataMember特性,并傳遞Name參數(shù)修改屬性的名字,Order排序...是不是很簡單,自己去試試吧
注意如果添加了DataContract特性后,如果屬性沒有添加DataMember,那該屬性將不被序列化的
新聞熱點
疑難解答