Этот вопрос относится к пакету nuget FluentValidation
У меня есть модель Person
и модель адреса, и они оба наследуются от RecordTypeModel
. Я свободно владею PersonValidator
и AddressValidator
. Затем у меня есть класс с именем CreateFile (модель RecordTypeModel).
RecordTypeModel
класс имеет свойство RecordType
В CreateFile (), когда model.RecordType - Person, тогда я хочу создать PersonValidator instance.
Я пробовал это
var validator = GetValidatorInstance($"{item.RecordType}Validator") as AbstractValidator;
Проблема AbstractValidator
от FluentValidation заставляет предоставить точную модель, и приведенный выше код дает мне ошибку:
Использование generi c type AbstractValidator<T>
требует аргумента 1 типа
Я не хочу иметь кучу операторов switch / ifelse, так что есть ли способ сделать это generi c код работает?