首页 > 代码库 > 【ASP.NET】DataContract序列化,反序列化对象中包含用接口声明的属性时的处理方法
【ASP.NET】DataContract序列化,反序列化对象中包含用接口声明的属性时的处理方法
为此对象添加KnownType属性(Attribute)。类型为用接口声明的属性(Property)的所有可能类型。
示例如下:
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 : IKey12 {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 : KeyBase22 {23 [DataMember]24 public int Age { get; set; }25 }26 27 [KnownType(typeof(KeyBase))]28 [KnownType(typeof(Key))]29 [DataContract]30 public class Data31 {32 [DataMember]33 public IKey Key { get; set; }34 35 [DataMember]36 public string Message { get; set; }37 }
【ASP.NET】DataContract序列化,反序列化对象中包含用接口声明的属性时的处理方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。