我正在理解单身人士模式。我在这里写了一小段代码
的Program.cs:
class Program
{
static void Main(string[] args)
{
SingleObject objtemp = SingleObject.getInstance();\
objtemp.showMessage();
}
}
SingleObject.cs
class SingleObject
{
static SingleObject obj = new SingleObject();
private SingleObject()
{
}
public static SingleObject getInstance()
{
return obj;
}
public void showMessage()
{
Console.WriteLine("Hello Message");
}
}
我无法理解实际调用SingleObject()
构造函数的是什么?
当我调用getInstance()
方法时,它是否正确返回实例?
答案 0 :(得分:0)
基本思想是你将构造函数设为私有。因此,您无法从外部初始化SingleObject的对象。但是您在类本身中创建的静态对象可以使用私有构造函数,允许您使用公共方法从外部访问它。
答案 1 :(得分:0)
static SingleObject obj = new SingleObject();
您正在进行此实例化。它将在首次使用前调用。在这里阅读更多When do static variables get initialized in C#?