C 靜態建構函式

2021-05-22 08:26:32 字數 1422 閱讀 4349

c#靜態建構函式

靜態建構函式是

c#的乙個新特性,在程式設計過程中用處並不廣,它的主要目的是用於初始化一些靜態的變數。

因為這個建構函式是屬於類的,而不屬於任何乙個例項,所以這個建構函式只會被執行一次,而且是在建立此類的第乙個例項或引用任何靜態成員之前,由

.net

自動呼叫。

在程式中我們可以這樣寫:

class ******class }

也可以這樣寫,這和上面的做法其實沒有區別:

class ******class

在使用靜態建構函式的時候應該注意幾點:

1、靜態建構函式既沒有訪問修飾符,也沒有引數。

--因為是

.net

呼叫的,所以像

public

和private

等修飾符就沒有意義了。

2、在建立第乙個類例項或任何靜態成員被引用時,.net將自動呼叫靜態建構函式來初始化類。

--也就是說我們無法直接呼叫靜態建構函式,也不可能知道靜態建構函式何時會被呼叫。

3、乙個類只能有乙個靜態建構函式。

4、無引數的建構函式可以與靜態建構函式共存。

--儘管引數列表相同,但乙個屬於類,乙個屬於例項,所以不會衝突。

5、最多隻執行一次。

6、靜態建構函式不可以被繼承。

7、如果沒有寫靜態建構函式,而類中包含帶有初始值設定的靜態成員,那麼編譯器會自動生成預設的靜態建構函式。

呼叫例子

:using

system;

using

system.collections.generic;

using

system.text;

namespace

test1_constrator

} class

class1

public class1()

} }

結果為:

static1

public2

public3

c 靜態建構函式

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

C 靜態建構函式

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

C 靜態建構函式

對於c 靜態建構函式,很少在開發中使用,但的確是一種非常有用的開發方式。c 靜態建構函式的乙個重要原因是 類有一些靜態欄位或屬性,需要在第一次使用該類之前,從外部源中初始化這些靜態字段或者屬性。用下面的例子來說明靜態建構函式的使用 namespace staticconstructorsample ...