5

シリアル化したくないパブリックメンバーがいますが、属性があるかどうか疑問に思っていましたか?

4

5 に答える 5

5

他の人がアドバイスしたように、 XmlIgnoreAttributeを使用して静的に実行します。

動的に行うこともできます。シリアル化可能なプロパティNameがあるとします。次に、次のとおりです。

[XmlIgnore]
public bool NameSpecified {
    get {
        // your logic here
    }
}

この特別なプロパティ ゲッターが true を返す場合、Nameは出力 XML ドキュメントに含まれます。それ以外の場合は含まれません。 NameSpecified自体は [XmlIgnore] でマークされています。これは明らかに含めたくないためです。

于 2009-10-22T18:31:52.907 に答える
4

XmlIgnoreトリックを行います。

于 2009-10-22T18:13:55.700 に答える
0

「指定された」サフィックスに関するAzheglovのコメントに続いて、DefaultValue属性はシリアライズ時にも考慮され、デフォルトの場合、値はまったくシリアライズされません。

于 2009-10-23T15:18:40.060 に答える