0

データ項目クラス (MyDataItem) を保持するフィールド (オブジェクト型) を保持するクラス (Config) をシリアル化しようとしています。このMyDataItemクラスは、データ項目の値 (値) を保持するためのフィールド (型オブジェクト) を保持します。値が object 型である理由は、MyDataItemが異なる型の値を保持できる可能性があるためです。この値を基本型 (int、string など) ではなく配列 (ex int []) に設定すると、System.Invalid operation exceptionエラーが発生します。

There was an error generating the XML document.
The type System.Int32[] may not be used in this context.

これを解決する方法を知っている人はいますか?

Windows XP、Visual Studio 2008、および .net 3.5 で作業しています。

エラーを示すサンプル プログラム:

http://pastebin.com/esv55AvC

4

1 に答える 1

0

私の推奨事項ではありません (IMO は非常にシンプルで明白な POCO / DTO モデルを用意する必要があります) が、これは機能するはずです。

    [XmlElement("tmp", Type = typeof(MyDataItem))]
    public object tmp;

と:

    [XmlElement("Foo", Type = typeof(int[]))]
    [XmlElement("Bar", Type = typeof(int))]
    public object Value;
于 2012-08-13T18:17:50.990 に答える