2

Xml シリアライゼーションを行っていますが、コンパイル アイテム エラーが発生します。

エラーのあるコードは次のとおりです。

public class EPubBody
{
    [XmlElement(ElementName = "Image", DataType = typeof(EPubImage))]
    public object[] BodyItems;
}

エラーはそのtypeof(EPubImage)部分にあります。エラーはCannot implicitly convert type 'System.Type' to 'string'です。

クラスEPubImageは同じ名前空間にあり、次のようになります。

public class EPubImage
{
    [XmlAttribute("imagePath")]
    public string ImagePath { get; set; }

}

の代わりにtypeof(EPubImage)a を返していると思います。typeof ステートメントが System.Type ではなく文字列を返すようにする方法についての指針はありますか?System.Typestring

4

3 に答える 3

2

documentationによると、DataTypeプロパティは.NETタイプではなくXSDデータタイプを指定するために使用されます:

World Wide Web Consortium (www.w3.org) のドキュメント「XML Schema Part 2: Datatypes」で定義されている XML Schema データ型。

代わりにこれを試してください:

public class EPubBody
{
    [XmlElement(ElementName = "Image")]
    public EPubImage[] BodyItems;
}
于 2013-07-29T04:23:41.533 に答える
1

XmlElementAttributeのMSDN ドキュメントには、それがであるのに対し、プロパティは であることDataTypeが明確に記載されています。stringTypeType

于 2013-07-29T04:24:19.687 に答える