Используя NJsonSchema.CodeGeneration, я могу вывести свойства, определенные в схеме JSON. Однако я заметил, что в сгенерированном коде происходит пара вещей:
для всех свойств определено свойство Required = Newtonsoft...DisallowNull
.
каждому свойству присваивается новый экземпляр класса.
Пример:
[Newtonsoft.Json.JsonProperty("myProperty", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
public MyProperty MyProperty { get; set; } = new MyProperty();
Вопрос
Как мне сделать так, чтобы сгенерированный код допускал нулевые значения? Это не обязательные свойства в схеме JSON, и не имеет смысла их инициализировать. С другой стороны, удобно инициализировать классы коллекций по умолчанию, чтобы их можно было повторять без исключения (это также актуально для коллекций).