Fork me on GitHub

静态构造函数用于初始化任何静态数据,或执行仅需执行一次的特定操作。 将在创建第一个实例或引用任何静态成员之前自动调用静态构造函数。

静态构造函数的属性

1. 静态构造函数不使用访问修饰符或不具有参数。
2. 在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数以初始化类。
3. 不能直接调用静态构造函数。
4. 用户无法控制在程序中执行静态构造函数的时间。
5. 静态构造函数的一种典型用法是在类使用日志文件且将构造函数用于将条目写入到此文件中时使用。
6. 静态构造函数对于创建非托管代码的包装类也非常有用,这种情况下构造函数可调用 LoadLibrary 方法。
7. 如果静态构造函数引发异常,运行时将不会再次调用该函数,并且类型在程序运行所在的应用程序域的生存期内将保持未初始化。

C#中静态构造函数的举例

public class A{
    public static void GlobalInit() {
        Console.WriteLine("执行静态方法");
    }
    static A() {
        Console.WriteLine("执行静态构造函数方法");
    }

    public A() {
        Console.WriteLine("执行构造函数方法");
    }

    public static string name = "测试静态属性";
}
class Program
{
    static void Main(string[] args)
    {
        new A();
        A.GlobalInit();
        Console.WriteLine(A.name);
        new A();
        Console.WriteLine("测试结束!");
        Console.Read();
    }
}

执行结果

posted on 2018-07-11 09:48  lingfeng95  阅读(377)  评论(0编辑  收藏  举报