मैं और सिंगलटन लागू करने के लिए एक ट्यूटोरियल पढ़ रहा था कोड कहा जाता हैकौन सा पहला स्थिर निर्माता या निजी निर्माता
public class Singleton
{
private static readonly Singleton instance = new Singleton();
static Singleton()
{
Console.WriteLine("Static");
}
private Singleton()
{
Console.WriteLine("Private");
}
public static Singleton Instance { get { return instance; } }
public void DoSomething() {
//this must be thread safe
}
}
है जब मैं Singleton.Instance लिखते हैं, उत्पादन
निजी
है स्टेटिक
मैं इसे उम्मीद कर रहा था होना करने के लिए
स्टेटिक
निजी
कारण किया जा रहा है कि जब मैं एक MSDN ट्यूटोरियल पढ़ें "https://msdn.microsoft.com/en-us/library/k9x6w0hc.aspx"
मैंने देखा कि सार्वजनिक निर्माता स्थिर निर्माता के बाद बुलाया गया था।
कोई अंतर क्यों है?
एक सिंगलटन के लिए, आप की जरूरत नहीं है स्थिर कन्स्ट्रक्टर। ऑब्जेक्ट बनाएं और 'लॉक (ऑब्जेक्ट)' का उपयोग करके सरल थ्रेडिंग का उपयोग करें ताकि केवल एक थ्रेड आपकी विधि तक पहुंच सके। – ViVi
मैंने लॉक्स के साथ शुरुआत की, और पर्याप्त दस्तावेज पढ़ा है कि वे कितने महंगे हैं। इसलिए, मैंने यह कोड चुना है। – Rajat
@ViVi यह सवाल इस बारे में नहीं है कि बेहतर तरीका क्या है, लेकिन आउटपुट क्यों 'निजी स्टेटिक' है। अच्छा सवाल – CodingYoshi