Добавление определенных привязок в замке Виндзор

У меня есть класс со следующим конструктором

 public BiddingTierSetViewModelValidator(
            IPropertyValidator allTiersMustBeContiguous,
            IPropertyValidator firstItemMustHaveZeroStartValue,
            IPropertyValidator lastItemMustHaveNullEndValue,
            IPropertyValidator allExceptLastItemMustHaveNonNullEndValue,
            IPropertyValidator biddingTierViewModelValuesCorrect)

Когда я запускаю приложение, я получаю эту ошибку

Missing dependency.
Component <namespace>.BiddingTierSetViewModelValidator has a dependency on FluentValidation.Validators.IPropertyValidator, which could not be resolved.
Make sure the dependency is correctly registered in the container as a service, or provided as inline argument.

То, что я хочу сделать, это для каждого из них IPropertyValidator Параметры, которые я хочу передать в другой реализации. Как мне установить это в Виндзоре?

1 ответ

Решение

Вы можете изменить конструктор на:

public BiddingTierSetViewModelValidator(IPropertyValidator [] propertyValidators)

Зарегистрируйте все валидаторы в контейнере и добавьте следующее:

container.Kernel.Resolver.AddSubResolver(new CollectionResolver()); 

Удачи, Марвин.

Другие вопросы по тегам