1、靜態建構函式既沒有訪問修飾符,也沒有引數。因為是.net呼叫的,所以像public和private等修飾符就沒有意義了。
2、是在建立第乙個類例項或任何靜態成員被引用時,.net將自動呼叫靜態建構函式來初始化類,也就是說我們無法直接呼叫靜態建構函式,也就無法控制什麼時候執行靜態建構函式了。
3、乙個類只能有乙個靜態建構函式。
4、無引數的建構函式可以與靜態建構函式共存。儘管引數列表相同,但乙個屬於類,乙個屬於例項,所以不會衝突。
5、最多隻執行一次。
6、靜態建構函式不可以被繼承。
7、如果沒有寫靜態建構函式,而類中包含帶有初始值設定的靜態成員,那麼編譯器會自動生成預設的靜態建構函式。
靜態建構函式
1.類的建構函式有三種 例項建構函式,私有建構函式和靜態建構函式,靜態建構函式只能初始化靜態資料,或執行一次特殊的操作,這種函式只執行一次,在第一次建立類的物件的時候或者呼叫靜態成員時就會自動呼叫它,靜態建構函式沒有訪問修飾符,也沒有任何引數。可以參考一下下面的 using system using...
靜態建構函式
1 如果乙個類沒有定義靜態建構函式,就算它有靜態字段,編譯器也不會自動給這個類生成乙個預設的靜態建構函式。驗證如下 using system using system.collections.generic using system.text namespace teststaticconstruc...
靜態建構函式
先看一道常見題目,以下 的執行結果是什麼?classa class b 一 定義 由名稱可知,靜態建構函式 也稱為型別建構函式 包含 靜態 和 建構函式 兩個特點。第乙個特點決定了它與靜態函式類似,只能使用靜態成員 第二個特點決定了它與建構函式類似,具有初始化作用,並且沒有返回值。與建構函式 針對例...