飘遥的Blog

C/C++/.NET
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C#中的静态构造函数

Posted on 2007-12-18 20:48  Zzx飘遥  阅读(277)  评论(0编辑  收藏  举报

  在浏览网页时,突然发现"静态构造函数",以前好像没听说过,查了下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
= "该随机数为奇数!";
        }
    }
}