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以获得实际的实现。

10-04 18:16