Выборочная сериализация с 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;
}
}
}