新聞中心
C#靜態(tài)構(gòu)造函數(shù)是C#的一個新特性,其實(shí)好像很少用到。不過當(dāng)我們想初始化一些靜態(tài)變量的時候就需要用到它了。這個構(gòu)造函數(shù)是屬于類的,而不是屬于哪里實(shí)例的,就是說這個構(gòu)造函數(shù)只會被執(zhí)行一次。也就是在創(chuàng)建第一個實(shí)例或引用任何靜態(tài)成員之前,由.NET自動調(diào)用。

- class SimpleClass
- // Static constructor
- static SimpleClass()
- {
- //
- }
在使用C#靜態(tài)構(gòu)造函數(shù)的時候應(yīng)該注意幾點(diǎn):
1、C#靜態(tài)構(gòu)造函數(shù)既沒有訪問修飾符,也沒有參數(shù)。因?yàn)槭?NET調(diào)用的,所以像public和private等修飾符就沒有意義了。
2、是在創(chuàng)建第一個類實(shí)例或任何靜態(tài)成員被引用時,.NET將自動調(diào)用C#靜態(tài)構(gòu)造函數(shù)來初始化類,也就是說我們無法直接調(diào)用C#靜態(tài)構(gòu)造函數(shù),也就無法控制什么時候執(zhí)行C#靜態(tài)構(gòu)造函數(shù)了。
3、一個類只能有一個C#靜態(tài)構(gòu)造函數(shù)。
4、無參數(shù)的構(gòu)造函數(shù)可以與C#靜態(tài)構(gòu)造函數(shù)共存。盡管參數(shù)列表相同,但一個屬于類,一個屬于實(shí)例,所以不會沖突。
5、最多只運(yùn)行一次。
6、C#靜態(tài)構(gòu)造函數(shù)不可以被繼承。
7、如果沒有寫C#靜態(tài)構(gòu)造函數(shù),而類中包含帶有初始值設(shè)定的靜態(tài)成員,那么編譯器會自動生成默認(rèn)的C#靜態(tài)構(gòu)造函數(shù)。
C#靜態(tài)構(gòu)造函數(shù)學(xué)習(xí)心得就向你介紹到這里,希望對你學(xué)習(xí)和了解C#靜態(tài)構(gòu)造函數(shù)有所幫助。
標(biāo)題名稱:C#靜態(tài)構(gòu)造函數(shù)學(xué)習(xí)心得淺析
文章來源:http://m.fisionsoft.com.cn/article/dhoeghc.html


咨詢
建站咨詢
