类实例时只实例一次或者在调用实例的时候只执行一次

Singleton模式:
using System;
public class Singleton
{
        private static Singleton instance;
        private Singleton() {}
        public static Singleton Instance
        {
            get
                {
                        if (instance == null)
                        {
                        instance = new Singleton();
                        }
                        return instance;
                 }
        }
}spa


//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++get

//==========================================================class

也能够选择在调用的时候才实例化的

public class sealed Singleton
{
        private static volatile Singleton _instance;
        private static object syncRoot = new object();
        private Singleton() { }
        public Singleton Instance
        {
            get
            {
                    if(_instance == null)
                    {
                        Lock(syncRoot)
                        {
                            if(_instance == null)
                            {
                                _instance = new Singleton();
                            }
                        }
                        }
                    return _instance;
                }
            }
}
object

相关文章
相关标签/搜索