首页 > Web开发 > 详细

【ASP.NET】DataContract序列化,反序列化对象中包含用接口声明的属性时的处理方法

时间:2014-11-19 12:32:13      阅读:325      评论:0      收藏:0      [点我收藏+]

为此对象添加KnownType属性(Attribute)。类型为用接口声明的属性(Property)的所有可能类型。

 示例如下:
 
bubuko.com,布布扣
 1     public interface IKey
 2     {
 3         [DataMember]
 4         int Id { get; set; }
 5 
 6         [DataMember]
 7         string Name { get; set; }
 8     }
 9 
10     [DataContract]
11     public abstract class KeyBase : IKey
12     {
13         [DataMember]
14         public int Id { get; set; }
15 
16         [DataMember]
17         public string Name { get; set; }
18     }
19 
20     [DataContract]
21     public class Key : KeyBase
22     {
23         [DataMember]
24         public int Age { get; set; }
25     }
26 
27     [KnownType(typeof(KeyBase))]
28     [KnownType(typeof(Key))]
29     [DataContract]
30     public class Data
31     {
32         [DataMember]
33         public IKey Key { get; set; }
34 
35         [DataMember]
36         public string Message { get; set; }
37     }
View Code

 

 

【ASP.NET】DataContract序列化,反序列化对象中包含用接口声明的属性时的处理方法

原文:http://www.cnblogs.com/chenguoxingblog/p/4107824.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!