2012-04-02 6 views
10

J'apprends à utiliser l'injection de dépendance avec ninject. La plupart des propriétés et des méthodes sont assez intuitives, une qui m'a cependant est Kernel.Inject (instance);Que fait Kernel.Inject (instance); fait réellement?

Que fait réellement la méthode Inject car elle ne renvoie rien. J'ai regardé autour mais la recherche d'une méthode appelée injecter sur un conteneur d'injection de dépendance est un cauchemar, je ne trouve pas de références à la méthode spécifiquement.

Répondre

15

Kernel.Inject(instance) va injecter des dépendances dans un objet déjà existant. C'est pourquoi il retourne void car il prend l'instance de l'objet paramètre et commence à rechercher ses méthodes et ses propriétés à la recherche de l'attribut [Inject]. Ensuite, il les appellera avec les instances résolues de leurs types de paramètres. (cela s'appelle la méthode ou l'injection de propriété)

Ainsi, quand l'injection de contructor n'est pas assez possible vous pouvez Kernel.Inject pour remplir vos dépendances pour une instance donnée.

Vous pouvez en savoir plus sur ce ici: Ninject Injection Patterns

+0

Bonne explaination simple, Cheers! – deanvmc

+0

Comédie typo "injecter des décences". Avec Ninject votre code sera indécent! –

+0

@SimonHalsey merci, fixé :) – nemesv

Questions connexes