在浏览网页时,突然发现"静态构造函数",以前好像没听说过,查了下MSDN,有如下定义:
静态构造函数用于初始化任何静态数据,或用于执行仅需执行一次的特定操作。在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数。
静态构造函数既没有访问修饰符,也没有参数。
在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化类。
无法直接调用静态构造函数。
在程序中,用户无法控制何时执行静态构造函数。
静态构造函数的典型用途是:当类使用日志文件时,将使用这种构造函数向日志文件中写入项。
静态构造函数在为非托管代码创建包装类时也很有用,此时该构造函数可以调用 LoadLibrary 方法。
详细信息参考:http://msdn2.microsoft.com/zh-cn/library/k9x6w0hc(VS.80).aspx
仔细想一想,静态构造函数应用范围不广,但很有用。如软件安装时获得系统的信息、获得随日期改变的信息等等“外部信息”。
举一例其使用方法:
class Program
{
static void Main(string[] args)
{
Console.WriteLine(Test.NumType);
Console.ReadKey();
}
}
public class Test
{
public static readonly string NumType;
static Test()
{
Console.WriteLine("执行静态构造函数");
Random rnd=new Random();
if (rnd.Next() % 2 == 0)
{
NumType = "该随机数为偶数!";
}
else
{
NumType = "该随机数为奇数!";
}
}
}
{
static void Main(string[] args)
{
Console.WriteLine(Test.NumType);
Console.ReadKey();
}
}
public class Test
{
public static readonly string NumType;
static Test()
{
Console.WriteLine("执行静态构造函数");
Random rnd=new Random();
if (rnd.Next() % 2 == 0)
{
NumType = "该随机数为偶数!";
}
else
{
NumType = "该随机数为奇数!";
}
}
}