【发布时间】:2012-06-06 14:51:14
【问题描述】:
我正在研究 C# 的单例模式,我从 msdn 网站找到了这个示例。
public sealed class Singleton
{
private static readonly Singleton instance = new Singleton();
private Singleton(){}
public static Singleton Instance
{
get
{
return instance;
}
}
}
因为 Singleton 实例是 由私有静态成员引用 变量,实例化不 直到班级第一 由对实例的调用引用 财产。因此该解决方案 实现了惰性的一种形式 实例化属性,如 单例的设计模式形式。
我不太确定何时将内存分配给
private static readonly Singleton instance
1)会在Instance属性被调用时甚至之前发生吗?
2) 我有时需要强制班级创建新内存以清除其内容。使用set 这样做安全吗?
set
{
instance = null;
}
【问题讨论】:
-
惰性实例化的形式说明一切
-
set { }来自哪里(非常错误)? -
你的第二个问题很有道理。