Mi objetivo es que el constructor inyecto una matriz de objetos que implementen una interfaz.Inyección de matrices con Unity
La siguiente es la forma en que actualmente lo tengo.
Container
.RegisterInstance<Company>(ParseCompany(args[1])
.RegisterInstance<eTargets>(ParseTargets(args[2]))
.RegisterInstance<ILoader[]>(new ILoader[] {
Container.Resolve<CustomerLoader>(),
Container.Resolve<PaymentLoader(),
Container.Resolve<InvoiceLoader()
});
es típico para llamar resolver de configuración del contenedor de esta manera o hay una manera más estándar para lograr la misma cosa?
wow, eso es una gran punta gracias –
No exactamente insondable: la razón es que, si necesita más de una entrada para el mismo tipo, entonces debe agregar un nombre de lo contrario la unidad va a pensar que en realidad estás anulando la entrada anterior (que está prohibida). –
@BrunoBrant 'insondable' porque ningún otro contenedor DI funciona así. Ver p. [mi libro] (http://amzn.to/12p90MG) para más detalles. –