C#单例构造函数模式
示例
public class SingletonClass
{
public static SingletonClass Instance { get; } = new SingletonClass();
private SingletonClass()
{
//将自定义构造函数代码放在这里
}
}由于构造函数是私有的,因此SingletonClass使用代码无法创建的新实例。访问的单个实例的唯一方法SingletonClass是使用static属性SingletonClass.Instance。
该Instance属性由C#编译器生成的静态构造函数分配。.NET运行时保证静态构造函数最多运行一次,并在Instance首次读取之前运行。因此,所有同步和初始化问题都由运行时执行。
请注意,如果静态构造函数失败,则Singleton该类在AppDomain的生命期内将永久无法使用。
另外,不能保证静态构造函数在第一次访问时运行Instance。相反,它将在此之前的某个时间运行。这使得初始化发生的时间不确定。在实际情况下,JIT通常在方法引用的编译(而非执行)期间调用静态构造函数Instance。这是性能优化。
有关实现单例模式的其他方法,请参见“单例实现”页面。
热门推荐
1 泰迪狗狗如何训练
3 狗狗训练图
5 狗狗训练方法
6 训练狗狗不咬人
8 敏捷训练狗狗
10 训练狗狗吃饭
11 泰迪狗狗训练
12 狗狗从多大开始训练
13 狗狗训练学校费用
14 怎么去训练狗狗
15 狗狗训练狗狗
16 狗狗训练教程
17 训练狗狗装死
18 泰迪狗狗的训练方法