Есть ли альтернатива для ShouldSerialize [PropertyName] в C #? - PullRequest
0 голосов
/ 11 июня 2018

В последнее время я пишу много кода, который включает сериализацию с использованием Json.NET, и из-за природы сериализуемых данных иногда не все их свойства необходимо сериализовать, поэтому я делаю следующее:

public int Foo { get; set; }

public bool ShouldSerializeFoo() => Foo > -1;

Это хорошо и работает, но требует много работы, если у вас много свойств ( в моем случае у меня более 100 ).

Итак, я хотел знать, есть ли альтернатива написанию этих методов.

1 Ответ

0 голосов
/ 11 июня 2018

Один альтернативный вариант - указать [DefaultValue(...)] и использовать функцию DefaultValueHandling.Ignore:

[DefaultValue(-1), JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)]
public int Foo { get; set; } = -1;

Обратите внимание, что важно инициализировать значение значением по умолчанию - следовательно, = -1; винициализатор свойства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...