C#中的静态构造函数
2007-12-18 20:48
351 查看
在浏览网页时,突然发现"静态构造函数",以前好像没听说过,查了下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 = "该随机数为奇数!";
}
}
}
静态构造函数用于初始化任何静态数据,或用于执行仅需执行一次的特定操作。在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数。
静态构造函数既没有访问修饰符,也没有参数。
在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化类。
无法直接调用静态构造函数。
在程序中,用户无法控制何时执行静态构造函数。
静态构造函数的典型用途是:当类使用日志文件时,将使用这种构造函数向日志文件中写入项。
静态构造函数在为非托管代码创建包装类时也很有用,此时该构造函数可以调用 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 = "该随机数为奇数!";
}
}
}
相关文章推荐
- CLR Via C# 学习笔记(5) 静态构造函数的性能
- C# 静态构造函数的说明
- C# 静态代码块(静态构造函数)
- 关于c# 静态构造函数的说明
- C#学习基础--静态构造函数
- C# 委托 && Virtual, abstract, override && 静态构造函数
- C#:静态构造函数
- C# 静态构造函数使用总结
- C# 静态构造函数详解(转自:http://hi.baidu.com/jiang_yy_jiang/blog/item/07d5cbe9ff6b4d32b90e2d5a.html)
- C#中静态构造函数
- c# 静态构造函数与构造函数的调用先后
- C# 静态构造函数
- 提高C#编程水平的50个要点 之十三“使用静态构造函数来初始化静态成员变量”
- C# 静态代码块(静态构造函数)
- 静态构造函数(C# 编程指南)
- c# 静态构造函数
- c# 静态构造函数注意了!
- c# 静态构造函数
- c#中,静态构造函数的说明
- C#中静态构造函数的学习