•靜態(tài)構(gòu)造函數(shù)既沒有訪問修飾符,也沒有參數(shù)。
•如果沒有編寫靜態(tài)構(gòu)造函數(shù),而這時類中包含帶有初始值設(shè)定的靜態(tài)字段,那么編譯器會自動生成默認(rèn)的靜態(tài)構(gòu)造函數(shù)。
•在創(chuàng)建第一個類實(shí)例或任何靜態(tài)成員被引用時,.NET將自動調(diào)用靜態(tài)構(gòu)造函數(shù)來初始化類,也就是說我們無法直接調(diào)用靜態(tài)構(gòu)造函數(shù),也就無法控制什么時候執(zhí)行靜態(tài)構(gòu)造函數(shù)了。
•如果類中包含用來開始執(zhí)行的 Main 方法,則該類的靜態(tài)構(gòu)造函數(shù)將在調(diào)用 Main 方法之前執(zhí)行。
•如果類中的靜態(tài)字段帶有初始化,則靜態(tài)字段的初始化語句將在靜態(tài)構(gòu)造函數(shù)之前運(yùn)行。
•一個類只能有一個靜態(tài)構(gòu)造函數(shù)。
•無參數(shù)的構(gòu)造函數(shù)可以與靜態(tài)構(gòu)造函數(shù)共存。盡管參數(shù)列表相同,但一個屬于類,一個屬于實(shí)例,所以不會沖突。
•最多只運(yùn)行一次。
•靜態(tài)構(gòu)造函數(shù)不可以被繼承。
•示例代碼如下:
運(yùn)行的結(jié)果是:
static A()
static B()
X=1,Y=2
新聞熱點(diǎn)
疑難解答
圖片精選