2012-04-02 12 views
10

Uczę się używania zastrzyku zależności z ninject. Większość właściwości i metod jest dość intuicyjna, a jedną z nich jest Kernel.Inject (instancja);Co robi Kernel.Inject (instancja); faktycznie robisz?

Co właściwie robi metoda Inject, ponieważ nic nie zwraca. Rozejrzałem się dookoła, ale szukanie metody zwanej wstrzykiwaniem na pojemniku z wtryskiem zależności jest koszmarem, nie mogę znaleźć żadnych odniesień do tej metody.

Odpowiedz

15

będzie wstrzykiwać zależności do już istniejącego obiektu.

To dlatego zwraca nieważne, ponieważ pobiera instancję obiektu parametrów i rozpoczyna badanie jej metod i właściwości ustawiających w poszukiwaniu atrybutu [Inject]. Następnie wywoła je z rozwiązanymi instancjami ich typów parametrów. (nazywane jest to metodą lub zastrzykiem właściwości)

Tak więc, gdy iniekcję do contructor nie jest wystarczy możliwe, że możesz Kernel.Inject wypełnić swoje zależności dla danej instancji.

Możesz przeczytać więcej na ten temat tutaj: Ninject Injection Patterns

+0

Dobrej prostym wyjaśnieniu, Cheers! – deanvmc

+0

Komedia literówka "wstrzyknąć przyzwoitości". Z Ninject twój kod będzie nieprzyzwoity! –

+0

@ SimonHalsey dzięki, naprawione :) – nemesv