सिस्टम का उपयोग कर; कैसल का उपयोग। विन्डस्र; Castle.MicroKernel.Registration का उपयोग कर; सिस्टम का उपयोग कर। कैसल का उपयोग। मिक्रोकर्नल। रिसोलर्स। स्पेशलाइज्ड रीसोलर्स; नेमस्पेस विंडसर {क्लास मेन क्लास {सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] एआरजी) {var कंटेनर = नया विंडसर कॉंटिएनेर (); कंटेनर। पंजीयक (घटक। के लिए (टाइपफ (आईएफ़स और लेफ्टिनेंट; & gt;)) लागू किया गया (टाइपफ़ (हैंडलर इंपलिप & lt ;, & gt;))); // कंटेनर। पंजीयक (घटक। के लिए (टाइपफ (आईआईएफ़स और एलटी ;, & gt;)) लागू (टाइपफ (इंपल 2)); Container.Kernel.Resolver.AddSubResolver (नया अर्रेआरएसओवर (कंटेनर। कर्नेल)); Var सामान्य = कंटेनर। रिज़ोल्व सभी & lt; IIface & lt; इंपल 2, स्टब & gt; & gt; (); Var ex = container.ResolveAll & lt; IIface & lt; इम्प्ल 1, स्टब & gt; & gt; (); // var qwe = नया हैंडलर Impl & lt; Impl1, Stub & gt; (); कंसोल.प्रकाशलाइन ("हैलो वर्ल्ड!"); }} सार्वजनिक वर्ग बेस {} सार्वजनिक वर्ग स्टब {} सार्वजनिक इंटरफेस अतिरिक्त इफेस {} सार्वजनिक इंटरफ़ेस Iface & lt; T1, T2 & gt; जहां T1: बेस जहां टी 2: वर्ग {टी 1 कमान {get; सेट; }} पब्लिक क्लास हैंडलर इंपलिप & lt; T1, T2 & gt; : आइज़फेस & लेफ्टिनेंट; टी 1, टी 2 & gt; जहां T1: बेस, अतिरिक्त इफेस जहां टी 2: वर्ग {सार्वजनिक T1 आज्ञा {प्राप्त; सेट; }} सार्वजनिक वर्ग Impl1: बेस {} सार्वजनिक वर्ग Impl2: Base, AdditionalIface {}}
तो, अब अगर मैं smth जैसे:
var सामान्य = कंटेनर। रिज़ोल्व सभी & lt; IIface & lt; इंपल 2, स्टब & gt; & gt; (); // यह ठीक काम करता है ठीक वें पूर्व = कंटेनर। रिज़ोल्व सभी और लेफ्टिनेंट; IIface & lt; इम्प्ल 1, स्टब & gt; & gt; (); / / इस अपवाद को फेंकता abou पूर्णरहित बाधाओं / बजाय मैं चाहता हूँ कि यह सिर्फ कोई हल कार्यान्वयन नहीं दिखाना
क्या यह काम करने के लिए कोई तरीका है जैसा मैं चाहता हूं?
< / Div>
वास्तव में यह विंडसर कोड में एक बग लगता है
अपडेट:
और अब यह तय है
Comments
Post a Comment