2012-04-02 17 views
10

मैं निंजा के साथ निर्भरता इंजेक्शन का उपयोग करना सीख रहा हूं। अधिकांश गुण और विधियां काफी सहज हैं, जिनमें से एक है जो मुझे कर्नेल है। इंजेक्ट (उदाहरण);कर्नेल। इंजेक्ट (उदाहरण) क्या करता है; वास्तव में करते हैं?

इंजेक्ट विधि वास्तव में क्या करती है क्योंकि यह कुछ भी वापस नहीं करती है। मैंने चारों ओर देखा है लेकिन एक निर्भरता इंजेक्शन कंटेनर पर इंजेक्ट नामक एक विधि की खोज एक दुःस्वप्न है, मुझे विशेष रूप से विधि के लिए कोई संदर्भ नहीं मिल रहा है।

उत्तर

15

Kernel.Inject(instance) निर्भरता को पहले से मौजूद वस्तु में इंजेक्ट करेगा।

यही कारण है कि यह शून्य हो जाता है क्योंकि यह पैरामीटर ऑब्जेक्ट उदाहरण लेता है और [Inject] विशेषता की तलाश में इसके तरीकों और संपत्ति सेटर्स की जांच शुरू करता है। फिर यह उन्हें अपने पैरामीटर प्रकार के हल किए गए उदाहरणों के साथ बुलाएगा। (इसे विधि या संपत्ति इंजेक्शन कहा जाता है)

तो जब नियंत्रक इंजेक्शन पर्याप्त संभव नहीं है तो आप Kernel.Inject किसी दिए गए उदाहरण के लिए अपनी निर्भरताओं को भरने के लिए कर सकते हैं।

आप इस के बारे में अधिक पढ़ सकते हैं: Ninject Injection Patterns

+0

अच्छा सरल explaination, चीयर्स! – deanvmc

+0

कॉमेडी टाइपो "इंजेक्शन निर्णय"। निनजेक्ट के साथ आपका कोड अश्लील होगा! –

+0

@ सिमोनहल्सी धन्यवाद, तय :) – nemesv

संबंधित मुद्दे