DataContractSerializer не сериализует одно свойство - PullRequest
0 голосов
/ 12 января 2012

Когда я сериализую следующий класс, 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. Можно ли включить его в сериализацию в качестве атрибута XML для элемента StructurePage? Искал это по сети, но мог найти какую-либо информацию о нем, очевидно, с XmlSerializer был атрибут XmlAttributeAttribute, но с DataContractSerializer такого не было.

1 Ответ

1 голос
/ 12 января 2012

Пролистать этот пост http://social.msdn.microsoft.com/Forums/eu/wcf/thread/57eb195a-43a9-47fe-8b1a-a9d23feb2df2

В соответствии с этим

Классы контрактов сбора данных не могут содержать дополнительных элементов данных.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...