•静态构造函数既没有访问修饰符,也没有参数。
•如果没有编写静态构造函数,而这时类中包含带有初始值设定的静态字段,那么编译器会自动生成默认的静态构造函数。
•在创建第一个类实例或任何静态成员被引用时,.NET将自动调用静态构造函数来初始化类,也就是说我们无法直接调用静态构造函数,也就无法控制什么时候执行静态构造函数了。
•如果类中包含用来开始执行的 Main 方法,则该类的静态构造函数将在调用 Main 方法之前执行。
•如果类中的静态字段带有初始化,则静态字段的初始化语句将在静态构造函数之前运行。
•一个类只能有一个静态构造函数。
•无参数的构造函数可以与静态构造函数共存。尽管参数列表相同,但一个属于类,一个属于实例,所以不会冲突。
•最多只运行一次。
•静态构造函数不可以被继承。
•示例代码如下:
运行的结果是:
static A()
static B()
X=1,Y=2