Microsoft Unity. Como especificar um determinado parâmetro no construtor?
Estou usando o Microsoft Unity. Eu tenho uma interfaceICustomerService
e sua implementaçãoCustomerService
. Posso registrá-los no contêiner Unity usando o seguinte código:
container.RegisterType<ICustomerService, CustomerService>(new TransientLifetimeManager());
E seCustomerService
tem um determinado parâmetro em seu construtor (por exemplo,ISomeService1
), Uso o código a seguir (preciso especificarSomeService1
):
container.RegisterType<ICustomerService, CustomerService>(new TransientLifetimeManager(), new InjectionConstructor(new SomeService1()));
Sem problemas aqui.
O problema aparece quandoCustomerService
A classe tem dois parâmetros (não um parâmetro, como no exemplo anterior) em seu construtor (por exemplo,ISomeService1
eISomeService2
) Funciona bem quando estou usando o seguinte código:container.RegisterType<ICustomerService, CustomerService>(new TransientLifetimeManager(), new InjectionConstructor(new SomeService1(), new SomeService2()));
O problema é que eu não quero especificarSomeService2()
para o segundo parâmetro. Eu quero especificar apenas o primeiro parâmetro -SomeService1()
. Mas recebo o erro de que preciso especificar nenhum ou ambos os parâmetros.
Como posso especificar apenas o primeiro parâmetro do construtor?