यह इस प्रश्न का मामूली भिन्नता है: Possible to use a singleton with a non-default constructor in C#?सी # में एक गैर-डिफ़ॉल्ट कन्स्ट्रक्टर वाले सिंगलटन का उपयोग करना संभव है?
मेरे पास एक कक्षा है जो इसके निर्माता के लिए पैरामीटर लेती है। मैं इस सिंगलटन को ऐसा करना चाहता हूं कि सिंगलटन को शुरू करने के लिए पैरामीटर लिया जाता है और इस प्रकार इंस्टेंस पुनर्प्राप्त होने पर हर बार पारित होने की आवश्यकता नहीं होती है।
इसके लिए मेरा समाधान (जो सुरुचिपूर्ण नहीं है) CreateInstance()
स्थिर विधि है जो पैरामीटर लेता है और सिंगलटन उदाहरण बनाता है। इसके बाद मेरे पास एक और स्थैतिक विधि GetInstance()
होगी जो सिंगलटन इंस्टेंस प्राप्त करने के लिए पैरामीटर रहित होगी। कोड में, मुझे GetInstance पर किसी भी कॉल से पहले तर्क कॉल CreateInstance
को सुनिश्चित करने की आवश्यकता होगी। हालांकि, मैं संकलन समय पर इसे लागू नहीं कर सकता। हालांकि, GetInstance
में अपवाद फेंककर मैं रनटाइम पर जांच कर सकता हूं अगर इसे CreateInstance
से पहले बुलाया जाता है।
क्या वैसे भी मैं संकलन समय प्रवर्तन के साथ इस व्यवहार को प्राप्त कर सकता हूं? या कम से कम, क्या एक ही काम करने का एक बेहतर तरीका है?
@ user691226 क्या आपको यह कोड करने के लिए कुछ कोड चाहिए पहले से ही, मेरे पास कुछ पॉइंटर्स हो सकते हैं। – msarchet