停止静态构造函数

Kii*_*Kii 0 .net static constructor

如何在.NET中运行静态构造函数(即模块构造函数和类型构造函数)?

例如:

class A  
{  
    static A()  
    {  
        Environment.Exit(0);  
    }  
    static int i()  
    {  
        return 100;
    }  
}  
Run Code Online (Sandbox Code Playgroud)

如何在i()不退出的情况下调用?

Dar*_*rov 5

如何阻止静态构造函数在.NET中运行?

你不能这样做.在创建任何类型的实例或引用任何静态成员之前,将调用静态构造函数.它由CLR调用,你完全无法控制确切的时间.

因此,避免调用静态构造函数的唯一方法是永远不要引用和使用包含此静态构造函数的类型.如果您不希望执行静态构造函数,为什么还要先定义静态构造函数?将Environment.Exit(0)指令放入静态构造函数就像拿枪并将自己射入腿部.