繁体   English   中英

DataContractSerializer未序列化一个属性

[英]DataContractSerializer not serializing one property

当我序列化以下类时,结果XML文件中缺少ContentPageId XML元素。

[CollectionDataContract(ItemName = "Widget")]
public sealed class StructurePage : List<Widget>, IEquatable<StructurePage>
{
    [DataMember]
    public int ContentPageId
    {
        get;
        set;
    }

    public StructurePage(){}

    public StructurePage(int pageId)
    {
        this.ContentPageId = pageId;
    }

    public bool Equals(StructurePage other)
    {
        return this.ContentPageId.Equals(other.ContentPageId);
    }
}
  1. 为什么序列化时会跳过该属性,以及如何将其作为XML元素包含?
  2. 是否可以将其作为StructurePage元素的XML属性包含在序列化中? 正在网上寻找此信息,但可以找到有关它的任何信息,显然XmlSerializer具有XmlAttributeAttribute属性,而DataContractSerializer没有此类属性。

浏览这篇文章http://social.msdn.microsoft.com/Forums/eu/wcf/thread/57eb195a-43a9-47fe-8b1a-a9d23feb2df2

根据这个

收集数据合同类不能包含额外的数据成员。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM