单线程中使用:
class Singleton{
private static Singleton singleton=null;
private static Singleton(){}//防止系统自动添加构造函数
public static Singleton GetSingleton(){
if(singleton!=null){
singleton=new Singleton();
}
return singleton;
}
}
//测试
class Test{
public static void Main(){
Singleton s=Singleton.GetSingleton();//调用方法
}
}
多线程中使用
class Singleton{
public static readonly Singleton singleton=new Singleton();
static Singleton(){//声明静态构造器
singleton=new Singleton();//实例化
}
private Singleton(){}
}
//测试
class Test{
public static void Main(){
Singleton s=Singleton.singleton;
}
}