Singleton模式:一个类有且仅有一个实例,并且提供了一个全局的访问点。
.net的静态构造函数MSDN上说明如下:
静态构造函数用于初始化任何 静态数据,或用于执行仅需执行一次的特定操作。 在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数。
静态构造函数具有以下特点:
-
静态构造函数既没有访问修饰符,也没有参数。
-
在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化 类。
-
无法直接调用静态构造函数。
-
在程序中,用户无法控制何时执行静态构造函数。
-
静态构造函数的典型用途是:当类使用日志文件时,将使用这种构造函数向日志文件中写入项。
-
静态构造函数在为非托管代码创建包装类时也很有用,此时该构造函数可以调用 LoadLibrary 方法。
-
如果静态构造函数引发异常,运行时将不会再次调用该构造函数,并且在程序运行所在的应用程序域的生存期内,类型将保持未初始化。
静态构造函数在类的生命周期中仅会运行一次,这个特性可以用于实现单件模式,实现代码如下:
public class Person { static readonly Person person; static Person() { person = new Person(); } private Person() { } private string _name; public string Name { get { return _name; } set { _name = value; } } private int _age; public int Age { get { return _age; } set { _age = value; } } public static Person GetPerson { get { return person; } } }
需要查看详细可参考:http://terrylee.cnblogs.com/archive/2005/12/09/293509.html