C#惰性线程安全的单例(适用于.NET 3.5或更旧版本,替代实现)
示例
因为在.NET3.5及更低版本中,您没有Lazy<T>类,所以使用以下模式:
public class Singleton
{
private Singleton() //阻止公共实例化
{
}
public static Singleton Instance
{
get
{
return Nested.instance;
}
}
private class Nested
{
//明确的静态构造函数告诉C#编译器
//不要将类型标记为beforefieldinit
static Nested()
{
}
internal static readonly Singleton instance = new Singleton();
}
}这是从JonSkeet的博客文章中获得启发的。
因为Nested该类是嵌套的和私有的,所以通过访问Sigleton该类的其他成员(例如,公共的只读属性)不会触发单例实例的实例化。
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短