C# 靜態(tài)構(gòu)造函數(shù)
使用類中的靜態(tài)成員時,需要預(yù)先初始化這些成員。在聲明時,可以給靜態(tài)成員提供一個初始值,但有時需要執(zhí)行更復雜的初始化操作,或者在賦值、執(zhí)行靜態(tài)方法之前執(zhí)行某些操作。
使用靜態(tài)構(gòu)造函數(shù)可以執(zhí)行此類初始化任務(wù)。一個類只能有一個靜態(tài)構(gòu)造函數(shù),該構(gòu)造函數(shù)不能有訪問修飾符,也不能帶任何參數(shù)。靜態(tài)構(gòu)造函數(shù)不能直接調(diào)用,只能在下述情況下執(zhí)行:
1.創(chuàng)建包含靜態(tài)構(gòu)造函數(shù)的類實例時
2.訪問包含靜態(tài)構(gòu)造函數(shù)的類的靜態(tài)成員時
這兩種情況下,會首先調(diào)用靜態(tài)構(gòu)造函數(shù),之后實例化類或訪問靜態(tài)成員。無論創(chuàng)建了多少個類實例,其靜態(tài)構(gòu)造函數(shù)都只調(diào)用一次。為了區(qū)分靜態(tài)構(gòu)造函數(shù)和構(gòu)造函數(shù),也將所有非靜態(tài)構(gòu)造函數(shù)稱為實例構(gòu)造函數(shù)。
點擊加載更多評論>>