Dav*_*ave 0 c# singleton design-patterns
可能重复:
Jon Skeet的单身人士澄清
我正在阅读Singletons,现在(也感谢SO)非常了解.
我的实现(应该是教科书)看起来像
public sealed class Singleton
{
private static readonly Singleton instance = new Singleton();
private Singleton(){ }
static Singleton(){ }
public static Singleton Instance { get { return instance; } }
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,在.NET 4.0上,我应该包含构造函数(我认为私有ctor是隐式创建的 - 但静态(可疑)是怎样的).
以下似乎也可以正常工作,但我担心它只适用于我设计的测试示例.
public sealed class Singleton
{
private static readonly Singleton instance = new Singleton();
public static Singleton Instance { get { return instance; } }
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,在.NET 4.0上,我应该包含构造函数(我认为它们现在是隐式创建的).
是的,Fx4或C#4没有变化.
如果你不提供实例构造函数,那么编译器提供一个公共构造函数.
没有理由提供静态构造函数.
以下似乎也可行,
问题的关键是, var s = new Singleton(); 应该不工作.这是要测试的东西.