0

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

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

フィールドを一時的に null に設定することはできません。

4

1 に答える 1

0

誰かが同じ問題に遭遇した場合に備えて、私が行った解決策を示します。

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

[DataContract]
class Foo
{
    Foo _FooOriginal;

    [DataMember]
    Foo _Foo {
        get {
            return whatever ? _FooOriginal : null;
        }
        set {
            _FooOriginal = value;
        }
    }
}
于 2010-09-22T09:52:02.000 に答える