Microsoft Unity. Как указать определенный параметр в конструкторе?

Я использую Microsoft Unity. У меня есть интерфейсICustomerService и его реализацияCustomerService, Я могу зарегистрировать их для контейнера Unity, используя следующий код:

container.RegisterType<ICustomerService, CustomerService>(new TransientLifetimeManager());

ЕслиCustomerService имеет определенный параметр в своем конструкторе (например,ISomeService1), Я использую следующий код (мне нужно указатьSomeService1):

container.RegisterType<ICustomerService, CustomerService>(new TransientLifetimeManager(), new InjectionConstructor(new SomeService1()));

Здесь нет проблем.

Проблема появляется когдаCustomerService Класс имеет два параметра (не один параметр, как в предыдущем примере) в своем конструкторе (например,ISomeService1 а такжеISomeService2). Он отлично работает, когда я использую следующий код:container.RegisterType<ICustomerService, CustomerService>(new TransientLifetimeManager(), new InjectionConstructor(new SomeService1(), new SomeService2()));

Проблема в том, что я не хочу указыватьSomeService2() для второго параметра. Я хочу указать только первый параметр -SomeService1(), Но я получаю сообщение об ошибке, что мне нужно указать ни один или оба параметра.

Как я могу указать только первый параметр конструктора?

Ответы на вопрос(5)

Ваш ответ на вопрос