Estoy intentando lo siguiente en la Unidad:Unidad: cómo especificar el uso de instancia específica de un tipo en la resolución de otro tipo
tengo un tipo con el siguiente constructor
public Type1(Type2 firstDependency, Type3 secondDependency)
Al resolver Type1
usando Unity, quiero especificar la instancia específica para Type2
para inyectar. Esta instancia específica de Type2
no está registrada en el contenedor. Type3
está registrado en el contenedor y debe resolverse como de costumbre.
Para ser más específicos, considere Type1
es una clase DocumentViewer
. Type2
es un Document
específico. Type3
es un SpellingChecker
.
Quiero poder resolver DocumentViewer
para un Document
que solo se conoce en tiempo de ejecución. Se pueden crear varias instancias de DocumentViewer
para differenct Documents
.
¿Cómo puedo hacer esto?
Lo siento, todavía no entiendo por qué no es posible resolver una instancia de su vista de documento con el código proporcionado en una de las respuestas a continuación. ¿Qué significa "un documento solo se conoce en tiempo de ejecución"? Si no conoce el tipo exacto de la instancia del documento, considere usar interfaces. – Alexander
Para decirlo de otra manera: Quiero resolver un tipo, pero solo dejo que el contenedor resuelva algunas de las dependencias. Quiero proporcionar las otras instancias yo mismo. –