静态构造函数

静态构造函数:被自动的调用的,不能被显示的调用.在调用静态构造函数后在调用public构造函数。

1、静态构造函数总是在public构造函数调用之前被CLR自动调用,或者引用类的任何静态成员之前被自动调用。强调一点:静态构造 函数只被调用一次。

2、用于对静态字段,静态只读字段等的初始化。只读字段只能在构造函数中或者初始化时被修改,而静态只读字段只能在静态构造函数或者初始化时被赋值。
 
3、添加static关键字,不能添加访问修饰符,因为静态构造函数都是私有的,不能被继承,它是被CLR自动调用的,不能被显示的调用。
 
4、如果类中包含用来开始执行的main方法,则该类的静态构造函数将在调用main方法之前执行。任何带有初始值设定的静态字段,则在执行该类的静态构造函数时,先要按照文本顺序执行那些初始值设定项。

6、如果没有编写静态构造函数,而这时类中包含带有初始值设定的静态字段,那么编译器会自动生成默认的静态构造函数。
 
使用静态构造函数还是成员初始化语句?

成员初始化语句在静态构造函数之前被调用,但是成员初始化语句来初始化静态成员时有一个弊端:不能捕获异常,所以在使用的时候有以下的建议:

1、简单的静态成员,例如类型为值类型的,使用成员初始化语句。
 
2、静态成员成员初始化比较复杂,或者有可能出现异常,那么用静态构造函数完成。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章