2011-01-27 9 views
0

私はプライベート構造体を含むパブリッククラスを持っています。構造体には、シリアル化するプロパティ(主に文字列)が含まれています。 XmlSerializerを使って構造体をシリアル化してディスクにストリームしようとすると、パブリックな型だけをシリアル化できると言うエラーが表示されます。私はこの構造体を公開する必要はありません。それをシリアル化して非公開にする方法はありますか?プライベート構造体のシリアライズ - できますか?

答えて

1

IXmlSerializableを実装すると、データのシリアル化方法と内容を正確に制御できるはずです。 提供されたリンクの例を見ると、プライベート文字列がシリアル化されます。

+0

ありがとうございました。私はこの仕事をすることができたと思うが、それは仕事がIMOよりもはるかに困難になる。 –

+0

@Randy別の方法があるとは思わない。私は過去にこれにぶつかり、それによって非常に不満を抱いていました。 XMLシリアライザを使用すると、IXmlSerializableインターフェイスを実装していない限り、パブリックデータメンバーのみがシリアル化されます(以前は私が持っていたISerializableではなく、プライベートデータを回復できませんでした)。 – pstrjds

+0

エラーはpublic * types * public * members *ではなく、シリアライズされています。ただこれを指摘してください。 – Amy

関連する問題