3

DeHLを使用してDelphiでXMLとクラスをセリライズし、クラスにプロパティを追加してXMLファイルを逆シリアル化しようとしています。このエラーが発生しました:'逆シリアル化«\TApp \ FObject\test»が失敗しました。シリアライザーは、それが欠落しているか、他のエンティティが現在読み取られていると報告しました!」

私はこの問題をよく理解していますが、エラーの代わりにデフォルト値を設定する方法はありますか?

4

1 に答える 1

3

アレックスは私にこれに答えます:

[XmlNullable] で「part2」フィールドに注釈を付けることで、できるはずです。これにより、XML ノードがない場合、「part2」フィールドを NIL に設定するように XML シリアライザーに指示されます。

これは可能ですが、推奨されないことに注意してください。逆シリアル化されたコンテンツは、元の型にシリアル化する必要があります。そうしないと、「悪いこと」が発生する可能性があります。

私はずっと前に彼のサイトでこの質問をしましたが、私がこの質問をした場所を見つけることができませんでした: http://alex.ciobanu.org/?p=285#comments

于 2010-09-29T18:28:45.390 に答える