J'essaie ce qui suit dans l'unité:Unité: comment spécifier utiliser instance spécifique d'un type lors de la résolution d'un autre type
J'ai un type avec le constructeur suivant
public Type1(Type2 firstDependency, Type3 secondDependency)
Lors de la résolution Type1
en utilisant Unity, je veux spécifier l'instance spécifique pour Type2
à injecter. Cette instance spécifique de Type2
n'est pas enregistrée dans le conteneur. Type3
est enregistré dans le conteneur et doit être résolu comme d'habitude. Pour être plus précis, considérons Type1
est une classe DocumentViewer
. Type2
est un Document
spécifique. Type3
est un SpellingChecker
.
Je veux être en mesure de résoudre DocumentViewer
pour un Document
qui est seulement connu au moment de l'exécution. Plusieurs instances DocumentViewer
pour différencier Documents
peuvent être créées.
Comment est-ce que je peux faire ceci?
Désolé, je ne comprends toujours pas pourquoi il n'est pas possible de résoudre une instance de votre document avec le code donné dans les réponses ci-dessous. Que signifie "un document n'est connu qu'à l'exécution"? Si vous ne connaissez pas le type exact de l'instance de document, pensez à utiliser des interfaces. – Alexander
Pour le dire d'une autre manière: Je veux résoudre un type, mais seulement laisser le conteneur résoudre lui-même certaines des dépendances. Je veux fournir les autres cas moi-même. –