public class Singleton
{
//private static bool instance_flag=false;instance flag 没用了,直接判断instance是否有实例就可以解决这个问题了.
private static Singleton instance;
public string name;
private Singleton()//将singleton函数变为private,防止直接调用new来创建它.
{
name="guqi";
Console.WriteLine("你只可以看到我一次哦");
}
public static Singleton GetInstance()
{
if (instance==null)
{
//instance_flag=true;
instance=new Singleton();
return instance;
}
else return instance;
}
}
谢谢vb1980对代码的改进.
public static Singleton GetInstance()
{
if (instance==null)
{
instance=new Singleton();
}
return instance;
}
简单许多.
{
//private static bool instance_flag=false;instance flag 没用了,直接判断instance是否有实例就可以解决这个问题了.
private static Singleton instance;
public string name;
private Singleton()//将singleton函数变为private,防止直接调用new来创建它.
{
name="guqi";
Console.WriteLine("你只可以看到我一次哦");
}
public static Singleton GetInstance()
{
if (instance==null)
{
//instance_flag=true;
instance=new Singleton();
return instance;
}
else return instance;
}
}
谢谢vb1980对代码的改进.
public static Singleton GetInstance()
{
if (instance==null)
{
instance=new Singleton();
}
return instance;
}
简单许多.
博客展示了C#中实现单例模式的代码,定义了Singleton类,将构造函数设为私有以防止直接创建实例,通过GetInstance方法获取单例。还提到去掉instance_flag,直接判断instance是否为null来创建实例,代码更简洁,最后感谢vb1980对代码的改进。
666

被折叠的 条评论
为什么被折叠?



