मुझे कुछ कोड विरासत में मिला है जिसमें क्लास प्रमाणीकरण प्रबंधक सभी स्थिर तरीकों के साथ है।निर्भरता इंजेक्शन का उपयोग करने के लिए आप स्थैतिक कक्षाओं को कैसे दोहराते हैं?
इम डि शुरू करने और एक निर्माता है कि एक निर्भरता UserController
UserController _userController;
public AuthenticationManager(UserController userCont)
{
_userController = userCont;
}
अब इम ले लिया संकलन समय त्रुटि मिल रही है के रूप में एक गैर स्थैतिक चर एक स्थिर विधि से संदर्भित है जोड़ना चाहते थे। इस कक्षा और कॉलिंग कोड में न्यूनतम परिवर्तनों के साथ काम करने के लिए यह आपके सर्वोत्तम अभ्यास की सिफारिश क्या होगी?
हम आईओसी कंटेनर के रूप में SimpleServiceLocator का उपयोग कर रहे हैं।
क्या यह [सरल इंजेक्टर] (http://simpleinjector.codeplex.com) में अपग्रेड करने का समय नहीं होगा? मैंने सरल सेवा लोकेटर को विकसित करना बंद कर दिया। – Steven
टिप के लिए धन्यवाद - मुझे पता नहीं था कि सरल इंजेक्टर मौजूद था! क्या सरल इंजेक्टर अतिरिक्त कार्यक्षमता प्रदान करता है जो मेरे प्रश्न को संबोधित करता है या यह सिर्फ एक अच्छी बात है? –
यह आपके प्रश्न का समाधान नहीं करता है, लेकिन सरल इंजेक्टर तेज, क्लीनर है, और एक्सटेंशन जोड़ने के लिए बहुत बेहतर समर्थन है (यहां वर्णित उन्नत परिदृश्यों में से अधिकांश (http://simpleinjector.codeplex.com/wikipage?title = उन्नत-परिदृश्य और संदर्भण टाइटल = दस्तावेज़ीकरण) एसएसएल के साथ कार्यान्वित करना संभव नहीं है)। आप मूल अंतर एसआई एसएसएल [यहां] (http://www.cuttingedge.it/blogs/steven/pivot/entry.php?id=87) के बारे में पढ़ सकते हैं। – Steven