Выборочная сериализация с NetDataContractSerializer

Сериализация этого класса работает отлично. Однако иногда я бы хотел исключить поле. Это возможно?

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

Установка поля в null временно невозможна.

1 ответ

Решение

В случае, если кто-то наткнется на ту же проблему, я покажу решение, которое я прошел.

Идея состоит в том, чтобы фасад оригинального поля был таким:

[DataContract]
class Foo
{
    Foo _FooOriginal;

    [DataMember]
    Foo _Foo {
        get {
            return whatever ? _FooOriginal : null;
        }
        set {
            _FooOriginal = value;
        }
    }
}
Другие вопросы по тегам