单例/静态类/实例类与私有ctor之间的区别?

时间:2010-09-15 21:35:27

标签: c# language-agnostic

以下似乎非常相似:

  • 班级中的静态和私人ctor之间有什么区别?
  • 此外,单例和具有静态或私有构造函数的实例类之间的区别是什么?

2 个答案:

答案 0 :(得分:1)

static constructors(参见第四版)和private constructors都可用于实现Singleton设计模式。

答案 1 :(得分:0)

第一次以任何方式提及类类型时都会调用静态构造函数。例如,可用于填充静态字典。无法显式调用这些构造函数。

另一方面,私有构造函数只能从类本身内部调用。例如,这可以通过创建工厂方法来限制或监视该类的新实例的创建。

关于单身人士的问题,Oren A对此进行了总结。