靜態建構函式是c#的乙個新特性,其實好像很少用到。不過當我們想初始化一些靜態變數的時候就需要用到它了。這個建構函式是屬於類的,而不是屬於**例項的,就是說這個建構函式只會被執行一次。也就是在建立第乙個例項或引用任何靜態成員之前,由.net自動呼叫。
class ******class
// static constructor
static ******class()
在使用靜態建構函式的時候應該注意幾點:
1、靜態建構函式既沒有訪問修飾符,也沒有引數。因為是.net呼叫的,所以像public和private等修飾符就沒有意義了。
2、是在建立第乙個類例項或任何靜態成員被引用時,.net將自動呼叫靜態建構函式來初始化類,也就是說我們無法直接呼叫靜態建構函式,也就無法控制什麼時候執行靜態建構函式了。
3、乙個類只能有乙個靜態建構函式。
4、無引數的建構函式可以與靜態建構函式共存。儘管引數列表相同,但乙個屬於類,乙個屬於例項,所以不會衝突。
5、最多隻執行一次。
6、靜態建構函式不可以被繼承。
7、如果沒有寫靜態建構函式,而類中包含帶有初始值設定的靜態成員,那麼編譯器會自動生成預設的靜態建構函式。
關於C 的建構函式的幾點注意
與任何其他函式一樣,建構函式具有名字 形參表和函式體。與其他函式不同的是,建構函式也可以包含乙個建構函式初始化列表。a sales item sales item const string book isbn book units sold 0 revenue 0.0 b sales item sa...
關於C 靜態建構函式的幾點說明
靜態建構函式是c 的乙個新特性,其實好像很少用到。不過當我們想初始化一些靜態變數的時候就需要用到它了。這個建構函式是屬於類的,而不是屬於 例項的,就是說這個建構函式只會被執行一次。也就是在建立第乙個例項或引用任何靜態成員之前,由.net自動呼叫。class class 在使用靜態建構函式的時候應該注...
關於C 靜態建構函式的幾點說明
靜態建構函式是c 的乙個新特性,其實好像很少用到。不過當我們想初始化一些靜態變數的時候就需要用到它了。這個建構函式是屬於類的,而不是屬於 例項的,就是說這個建構函式只會被執行一次 也就是在建立第乙個 例項或引用任何靜態成員之前,由.net自動呼叫。class class 在使用靜態建構函式的時候應該...