2012-01-12 10 views
0

次のクラスをシリアル化すると、結果のXMLファイルにContentPageId XML要素がありません。DataContractSerializerが1つのプロパティをシリアル化していません

[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属性としてSerialPage要素をStructurePage要素に含めることはできますか?ネット上でこれを探していましたが、XmlSerializerにはXmlAttributeAttribute属性がありましたが、DataContractSerializerではそのようなことはありませんでした。

答えて

関連する問題