Я разработал много таких моделей:
public class Book
{
public string Title { get; set; }
public int PageCount { get; set; }
public bool SecondHand { get; set; }
}
Такая «неполная» инициализация не вызывает исключений компилятора:
new Book
{
Title = "Welcome to the The"
}
Но я бы хотел это приведет к ошибке во время компиляции, потому что несколько полей, не допускающих значения NULL (int
not int?
), не инициализированы.
Как я могу проектировать модели, чтобы при создании экземпляра не удалось инициализировать Обнуляемые поля вызывают ошибки во время компиляции?
(И предотвращает компиляцию)
Мне нравится использовать синтаксис создания экземпляра new Book { ... }
вместо конструктора new Book(...)
, потому что я могу видеть все имена полей, представленные передо мной, очень наглядно.
Если возможно, я хотел бы найти решение, которое может это сохранить.