質問

このクラスのシリアル化は正常に機能します。ただし、フィールドを除外したい場合があります。これは可能ですか?

[DataContract]
class Foo
{
    [DataMember]
    Foo _Foo;
}

フィールドを一時的にnullに設定することは不可能です。

役に立ちましたか?

解決

誰かが同じ問題につまずいた場合、私が通り過ぎた解決策を示します。

アイデアは、このような元のフィールドをファサードすることです。

[DataContract]
class Foo
{
    Foo _FooOriginal;

    [DataMember]
    Foo _Foo {
        get {
            return whatever ? _FooOriginal : null;
        }
        set {
            _FooOriginal = value;
        }
    }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top