Как мне разрешить нулевые свойства в моих сгенерированных классах POCO? - PullRequest
0 голосов
/ 21 января 2019

Используя NJsonSchema.CodeGeneration, я могу вывести свойства, определенные в схеме JSON. Однако я заметил, что в сгенерированном коде происходит пара вещей:

  1. для всех свойств определено свойство Required = Newtonsoft...DisallowNull.

  2. каждому свойству присваивается новый экземпляр класса.

Пример:

[Newtonsoft.Json.JsonProperty("myProperty", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
public MyProperty MyProperty { get; set; } = new MyProperty();

Вопрос

Как мне сделать так, чтобы сгенерированный код допускал нулевые значения? Это не обязательные свойства в схеме JSON, и не имеет смысла их инициализировать. С другой стороны, удобно инициализировать классы коллекций по умолчанию, чтобы их можно было повторять без исключения (это также актуально для коллекций).

...