public class MySingletonClass
{
public MySingletonClass()
{
_mySingletonObj = Instance();
}
public static MySingletonClass Instance()
{
if (_mySingletonObj == null)
{
lock (typeof(lockObject))
{
if (_mySingletonObj == null)
_mySingletonObj = new MySingletonClass();
}
}
return _mySingletonObj ;
}
}
MySingletonClass _myObj = new MySingletonClass();
与公共构造函数一起充当单例。
谢谢
最佳答案
不,它不是单例-任何人都可以创建它的多个实例。 (抛开已经提出的堆栈溢出问题,以及不安全地使用双重检查锁定的事实。)
单例类型的显着特征之一是,它阻止了构造其自身的多个实例。
从Wikipedia Singleton Pattern文章:
在软件工程中,单例
模式是一种设计模式
用于限制实例化
类到一个对象。
从Ward Cunningham's pattern repository:
单例是两个的组合
基本特性:
确保一个类只有一个实例
提供全球访问点
显然,您的单身人士不能同时满足这两个定义。
请参阅我的singleton article以获得实际的实现。