c# 单例 按需创建

Posted littlebye

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 单例 按需创建相关的知识,希望对你有一定的参考价值。

   public sealed class Singleton
    
        public Singleton()  

        public static Singleton Instance
        
            get  return Nested.instance; 
        

        class Nested
        
            static Nested()  
            internal static readonly Singleton instance = new Singleton();
        

    

在内部定义了一个私有类型Nested,当第一次用到这个嵌套类型的时候,会调用静态构造函数创建Singleton的实例instance。类型Nested只在属性Singleton.Instance中被用到,由于其私有属性,其他人无法使用Nested。因此当我们第一次试图通过属性Singleton.Instance得到Singleton的实例时,会自动调用Nested的静态构造函数创建实例instance。如果我们不调用Singleton.Instance,那么就不会触发.NET运行时调用Nested,也不会创建实例,这样就做到了按需创建。

 

摘自《剑指offer》

以上是关于c# 单例 按需创建的主要内容,如果未能解决你的问题,请参考以下文章

C# 最有用的(自定义)代码片段是啥? [关闭]

C#设计模式之一单例模式(Singleton Pattern)创建型

C# 单例模式

C# 单例表单模式,如何运行 2 个或更多表单? [关闭]

C#单例模式的实现和性能对比

C#中各版本的单例模式