vdhant - इसी तरह के कंटेनर में इस्तेमाल किया जा के लिए होती हैं नहीं है।
आप ISubject
का उपयोग करना चाहते हैं, है ना? तो अगर आप पारित कर दिया टी आप अपने अमूर्त तोड़ने रहे हैं क्योंकि आपके फोन करने वाले को पता होना चाहिए कि ISubject
, वास्तव में एक विषय है, और उस की तुलना में अधिक है, इसकी एक Subject<T>
और है कि यह एक ठोस टी की आवश्यकता है
कोई कंटेनर कि अनुमति देगा , लेकिन यह एक डिजाइन समस्या है, उपकरण समस्या नहीं है।
एक बात अपने डिजाइन ठीक करने के लिए, बनाने के लिए यह स्पष्ट हो सकता है - बदल तो फिर तुम खुले सामान्य प्रकार ISubject<>
रजिस्टर और यह बाँध सामान्य प्रकार Subject<>
खोलने के लिए कर सकता है ISubject
ISubject<T>
करने के लिए। एक तुम हो -
container.Register(Component.For(typeof(ISubject<>))
.ImplementedBy(typeof(Subject<>)));
तो फिर तुम एक बात निश्चित है क्या करना
var fooSubject = container.Resolve<ISubject<Foo>>();
आप किसी भी संदर्भ नहीं प्रदान की थी तो मैं जवाब के साथ ट्रैक से बाहर हो सकता है सक्षम होगा, लेकिन डिजाइन समस्या
स्रोत
2009-05-16 13:48:19
कूल तो मेरा मतलब है कि मुझे इंटरफ़ेस का एक सामान्य संस्करण प्रदान करने की आवश्यकता है और फिर मैं वह कर सकता हूं जो मैं करना चाहता हूं ... मेरे लिए अच्छा लगता है। चीयर्स – vdhant
धन्यवाद मुझे बचाया .. –
@EhsanSajjad –