Microsoft Unity. ¿Cómo especificar un determinado parámetro en el constructor?
Estoy usando Microsoft Unity. Tengo una interfazICustomerService
y su implementaciónCustomerService
. Puedo registrarlos para el contenedor de Unity usando el siguiente código:
container.RegisterType<ICustomerService, CustomerService>(new TransientLifetimeManager());
SiCustomerService
tiene un cierto parámetro en su constructor (p. ej.ISomeService1
), Utilizo el siguiente código (necesito especificarSomeService1
):
container.RegisterType<ICustomerService, CustomerService>(new TransientLifetimeManager(), new InjectionConstructor(new SomeService1()));
No hay problemas aquí.
El problema aparece cuandoCustomerService
La clase tiene dos parámetros (no un parámetro como en el ejemplo anterior) en su constructor (p. ej.ISomeService1
yISomeService2
) Funciona bien cuando estoy usando el siguiente código:container.RegisterType<ICustomerService, CustomerService>(new TransientLifetimeManager(), new InjectionConstructor(new SomeService1(), new SomeService2()));
El problema es que no quiero especificarSomeService2()
para el segundo parámetro Quiero especificar solo el primer parámetro:SomeService1()
. Pero recibo el error de que necesito especificar ninguno o ambos parámetros.
¿Cómo puedo especificar solo el primer parámetro del constructor?