【发布时间】:2016-03-03 14:02:30
【问题描述】:
当我尝试使用同一类的 2 个不同版本时,它们的行为实际上是相同的。
我已搜索但找不到此问题的满意答案
下面2个例子中的Singleton和静态属性有什么区别,关于初始化时间?以及如何观察差异?
编辑:我不问静态类和单例的区别。它们都是非静态的,唯一的区别是,第一个在 Instance 属性中初始化,第二个直接初始化
public sealed class Singleton
{
private static Singleton instance;
private Singleton()
{
}
public static Singleton Instance
{
get
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
}
public sealed class Singleton2
{
private static Singleton2 instance = new Singleton2();
private Singleton2()
{
}
public static Singleton2 Instance
{
get
{
return instance;
}
}
}
【问题讨论】:
-
Here's an article from c# in depth by Jon Skeet 可能会回答你关于单例模式的所有问题。