Здравствуйте, vaa, Вы писали:
vaa>А почему бы UserInput не валидировать данные в конструкторе?
Я предполагаю что конструктор там так просто не напишешь, так как данные приходят ввиде какого-то json документа,
который десериализуется System.Text.Json или Json.net и уже по факту создания класса записывает данные.
Ну и такая валидация может различаться в зависимости от конкретной функциональности системы, это некая бизнес валидация, а не просто валидация параметров,
так что я бы использовал fluent validator или делал для этого отдельный класс как минимум.