2011-02-04 8 views
2

datacontract属性のNameプロパティを使用するとき、シリアライザが使用されているのはわかりませんが、シリアル化中に矛盾した動作が見られます。ここで属性で指定されたNameプロパティを使用しないDataContract

は私がやっているものの例です:

[XmlRoot(ElementName = "ASerCollection")] 
public class SerCollection : List<ColElem> 
{ 
} 

[DataContract(Name = "SomethignElse", Namespace = "")] 
public class ColElem 
{ 

} 

私がいる問題は、シリアル化には、以下のXMLのようなものを生成していることである。

<ASerCollection> 
<ColElem /> 
</ASerCollection> 

私がやっていますこれはWCFサービスの一部です。私のdatacontractの "Name"属性の使用を強制するために、私が別のやり方でできることがあるかどうか教えてください。これは

おかげ

答えて

2

  • XMLRootAttributeがXmlSerializerを
  • DataContractAttributeで使用されているが、他のの属性を理解していない

一つDataContractSerializer で使用されています。 あなたがやろうとしていることやクラス間の関係によっては、上記のシリアライザをガイドし、ニーズに合ったものを選択する方法を読んでおくべきだと思います。ここで

は、リンクのカップルです:

これは少しお役に立てば幸いです。

関連する問題