public class Test
{
private Test()
{
Debug.WriteLine("private constructor has been called in class Test");
}
public virtual string Run()
{
return "Test.Run";
}
public static Test GetTestRequest()
{
return new Test();
}
public static DerivedTest GetDerivedTestRequest()
{
return new DerivedTest();
}
public class DerivedTest:Test
{
public DerivedTest()
{
Debug.WriteLine("public constructor has been called in derived class DerivedTest.");
}
public override string Run()
{
return "DerivedTest.Run";
}
}
}
डीबग। राइटलाइन (टेस्ट.गेटटेस्टआरक्वेट()। रन()); डीबग। राइटलाइन (टेस्ट। गेटडिवेटेड टेस्टआरक्वेट()। रन());
============================================== ============== आउटपुट:
निजी निर्माता Test.Run
वर्ग टेस्ट में बुलाया गया है
निजी निर्माता वर्ग टेस्ट में बुलाया गया है सार्वजनिक निर्माता किया गया है व्युत्पन्न वर्ग DerivedTest में बुलाया। DerivedTest.Run
तो, एक नेस्टेड क्लास एक बाहरी बेस क्लास से प्राप्त किया जा सकता है जिसमें एकमात्र निजी कन्स्ट्रक्टर होता है।
आप निजी कन्स्ट्रक्टर के साथ पहली जगह क्यों चाहते हैं? –
@ मार्कसमेसेकानन कक्षा में सार्वजनिक स्थैतिक फैक्ट्री विधि हो सकती है जिसे क्लाइंट का उदाहरण बनाने का एकमात्र तरीका होना चाहिए। –
@ मार्कसमेसेकान [सिंगलेट्स] (http://msdn.microsoft.com/en-us/library/ff650316.aspx) –