C 中靜態建構函式

2021-04-24 23:32:29 字數 890 閱讀 9681

c#中的建構函式有兩種:例項建構函式和靜態建構函式。例項建構函式初始化物件,而靜態建構函式初始化類。

在所有程式中,靜態建構函式只是也只能被呼叫一次。

宣告靜態函式的方法是:attribute static 類名()    //其中特性attribute是可選項。

具體靜態建構函式是在什麼時候被呼叫呢?我們通過下面程式來檢測:

using system;

public class test

public static void method()

}class mainclass

}程式輸出為:

0靜態建構函式被呼叫

1method函式被呼叫

由此可見:靜態建構函式被呼叫的時機是在靜態成員初始化之後,任何靜態成員被引用之前,在這之間將自動呼叫靜態建構函式來初始化類。

c#中使用靜態建構函式需注意以下幾點:

1.靜態建構函式不能被繼承,也不能被直接呼叫。

2.如果類中包含用來執行的main方法,那麼該類的靜態建構函式將在main方法執行前執行。

3.如果類中沒有編寫相應的靜態建構函式,而類中包含靜態字段,那麼編譯器會自動生成預設的靜態建構函式。

下面是在網上找得一段**,利用它我們可以熟悉上面的各注意事項:

using system;

class a

}class b

static void main()         //① 程式入口,

//   如果類中包含用來開始執行的 main 方法,

//   該類的靜態建構函式將在呼叫 main 方法之前執行。

//   轉到b的靜態建構函式---->

, y = ", a.x, b.y);//⑤ 輸出結果

console.readline();}}

C 靜態建構函式

c 靜態建構函式 靜態建構函式是 c 的乙個新特性,在程式設計過程中用處並不廣,它的主要目的是用於初始化一些靜態的變數。因為這個建構函式是屬於類的,而不屬於任何乙個例項,所以這個建構函式只會被執行一次,而且是在建立此類的第乙個例項或引用任何靜態成員之前,由 net 自動呼叫。在程式中我們可以這樣寫 ...

c 靜態建構函式

c 靜態建構函式,又稱類建構函式。它是屬於類的,不屬於任何乙個類的例項。它具有以下特點 1 以static定義的,無訪問修飾符,無返回型別,無引數的建構函式,如 code class test 2 不能通過 顯式的呼叫靜態建構函式 3 靜態建構函式在類的靜態成員第一次訪問或第乙個類例項建立之前由系統...

C 靜態建構函式

c 靜態建構函式 duduhe譯 簡介 net c 提供靜態建構函式功能,用以初始化靜態資料及執行某項特殊操作,該操作可能僅需執行一次。靜態建構函式用如下格式來宣告 static classname 以下任意情況發生時,靜態建構函式自動呼叫 l類例項的建立。l類的任意乙個靜態成員 屬性或方法 被呼叫...