मुझे एक पार्सर के अंदर एक कारखाना विधि मिल गई है। अनिवार्य रूप से जब मैं एक टोकन लोड करता हूं तो मैं उस टोकन के लिए हैंडलर देखता हूं, या डिफ़ॉल्ट हैंडलर से ड्रॉप करता हूं। मैंने इसे switch
और Dictionary<string,Type>
के रूप में कार्यान्वित किया है, लेकिन दोनों दृष्टिकोणों के लिए मुझे हैंडलर क्लास की तुलना में मैपिंग को कहीं और स्टोर करने की आवश्यकता है।एक कारखाने को बदलने के लिए निनजेक आईओसी का उपयोग
हम आईओसी के लिए Ninject का उपयोग कर रहे हैं और इसलिए मैं कर दिया है महसूस किया कि मैं भी यह
kernel.Get<ITokenHandler>(tokenName);
का उपयोग करते हैं, लेकिन है कि मुझे क्या हैंडलर 2 स्थानों में से निपटने कर सकते हैं टोकन पर सूचना के संचय को बचाने नहीं करता है सकते हैं । क्या कोई तरीका है कि मैं हैंडलर को सजाने में सक्षम हूं ताकि यह स्वचालित रूप से मैप हो जाए?
यहां वापस आने में थोड़ा देर हो चुकी है। मैं वास्तव में आईटोकन हैंडलर कंक्रीट कक्षाओं को चिह्नित करने का एक तरीका था, ताकि मैं बाइंडिंग को परिभाषित कर सकूं जहां हैंडलर घोषित किया गया था। अब मैं आपके उदाहरण के साथ गया हूं बाइंडिंग के सभी बार 1 पैटर्न के हैं: बाइंड()। <जेनेरिक टोकन हैंडलर <टोकन टाइप टू कॉन्स्ट्रक्चर >>()। नामांकित (टोकननाम); –
baralong