निनजेक्ट के साथ, आप कर्नेल को कैसे कॉन्फ़िगर करते हैं ताकि मैं परिभाषित कर सकूं कि किसी ऑब्जेक्ट के त्वरण में कौन से निर्माता मूल्य गुजर रहे हैं?कंस्ट्रक्टर मूल्यों में गुजरने वाले निन
मैं है एक मॉड्यूल में विन्यस्त निम्नलिखित:
Bind<IService1>()
.To<Service1Impl>()
.InSingletonScope()
.Named("LIVE");
Bind<IService2>()
.To<Service2Impl>()
.InSingletonScope()
.Named("LIVE")
.WithConstructorArgument(
"service1",
Kernel.Get<IService1>("LIVE"));
Service2Impl IService1 के एक निर्माता पैरामीटर लेता है, लेकिन मैं इस कंटेनर से आना चाहते हैं। मैं बाइंडिंग नाम भी देना चाहता हूं क्योंकि मेरा कोड रनटाइम पर विभिन्न संस्करणों को लक्षित करेगा।
ऐसा लगता है लेकिन यह हासिल करने का सही तरीका है जो मैं करना चाहता हूं? क्या मुझे नामित बाइंडिंग के उपयोग के बिना प्राप्त करना चाहिए और कर्नेल में विभिन्न कॉन्फ़िगरेशन मॉड्यूल तारों को तारित करना चाहिए?
संपादित
मैं एक प्रतिनिधि एक विशेष प्रकार के अनुरोध पर कॉल करने के लिए निर्दिष्ट करने के लिए ToMethod() विधि का इस्तेमाल किया है अब। यह थोड़ा अच्छा लगता है क्योंकि मुझे पहले पैरामीटर के नाम को जानने के बजाय कन्स्ट्रक्टर कॉन्फ़िगरेशन गलत है, तो मुझे संकलन समय चेतावनियां मिलेंगी।
धन्यवाद
इस वाक्यविन्यास को बहुत पसंद करते हैं। विथकॉन्स्ट्रक्टर आर्ग्यूमेंट, कंपाइलर त्रुटियों को दोबारा पकड़ता है। +1 – gb2d
क्या आपके पास एक हथियार इंटरफ़ेस और तलवार ऑब्जेक्ट के लिए गंभीर रूप से एक एप्लिकेशन कॉलिंग है? – starmandeluxe