嗨,我的数据契约有继承,但最后一个成员在使用服务时是不可访问的:
namespace Services.SearchService
{
[DataContract]
[KnownType(typeof(LabellingSearch))]
public class SearchResult
{
[DataMember]
public int ID { get; set; }
[DataMember]
public string Title { get; set; }
[DataMember]
public DateTime Modified { get; set; }
}
/// <summary>
/// Specialist Search Result for Labelling Content Data
/// </summary>
[DataContract]
[KnownType(typeof(Labelling))]
public class LabellingSearch : SearchResult
{
[DataMember]
public string Region { get; set; }
[DataMember]
public string Country { get; set; }
[DataMember]
public string LabelSummary { get; set; }
}
/// <summary>
/// Full Labelling Content Data
/// </summary>
[DataContract]
public class Labelling : LabellingSearch
{
public string Content { get; set; }
}
}因此,在消费类中,我可以访问“class”类型,但不能获取它的“Content”属性。
发布于 2012-09-11 20:02:30
您没有将类中的该成员设置为DataMember
[DataContract]
public class Labelling : LabellingSearch
{
[DataMember]
public string Content { get; set; }
}发布于 2012-09-11 20:00:45
你不能访问Content属性,因为它不是DataMember,所以它没有序列化。添加[DataMember]属性
[DataMember]
public string Content { get; set; }来自MSDN关于DataMemberAttribute类
当应用于类型的成员时,指定该成员是数据协定的一部分并且可由DataContractSerializer序列化。
https://stackoverflow.com/questions/12369188
复制相似问题