把构造函数设置成私有的,不能再外部进行实例化,只能在内部实例化,需要提供一个获取实例的接口
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _02_单例模式
{
internal class Danli
{
int num = 100;
static object locker =new object();
static Danli instance = null;
//私有
private Danli() { }
//把构造函数设置成私有的,不能再外部进行实例化,只能在内部实例化,需要提供一个获取实例的接口
public static Danli GetDanli()
{
lock (locker)
{
if (instance == null)
{
instance = new Danli();
}
}
return instance;
}
public int sub()
{
return --num;
}
}
}