NInject: comment passer des paramètres lors de l'Obtenir<T>()?
Je suis en utilisant l'image attachée à expliquer ce que je voulais dire.
-
J'ai un peu de classes gérées par NInject. Certains d'entre eux ont un peu de singleton instances, et d'autres sont dans le périmètre temporaire. Dans l'image, rectangles bleus sont singltons, rouge sont transitoires. Le Processeur dépend d'autres classes ou des instances.
-
Je veux obtenir l'instance de Processeur à chaque fois en utilisant le noyau.Obtenir. Cependant, chaque fois que je veux utiliser des valeurs différentes pour les objets utilisés par le Processeur. Voir Action1 et Action2 dans l'image. Le code n'est pas réel, mais juste pour l'explication ici.
Est-il de toute façon peut répondre à mes besoins?
Vous devez vous connecter pour publier un commentaire.
Vous devriez être en mesure de passer des arguments du constructeur étant donné que votre Processeur prend ces dépendances en argument au constructeur.
don't
à moi de cette façon.ConstructorArgument()
doit correspondre à la variable nom de la cible de la méthode, pas le nom de la variable qui est affecté le résultat deConstructorArgument()
. J'espère que cela va sauver les gens dans le futur.Utiliser le OnActivation() la fonction peut accrocher le cas que si une dépendance est activé.