C#静态构造函数总结
今天花了一些時(shí)間把靜態(tài)構(gòu)造函數(shù)的用法總結(jié)了一下,希望高手們指點(diǎn)。謝謝! ???
-
靜態(tài)構(gòu)造函數(shù)既沒(méi)有訪問(wèn)修飾符,也沒(méi)有參數(shù)。
-
如果沒(méi)有編寫(xiě)靜態(tài)構(gòu)造函數(shù),而這時(shí)類(lèi)中包含帶有初始值設(shè)定的靜態(tài)字段,那么編譯器會(huì)自動(dòng)生成默認(rèn)的靜態(tài)構(gòu)造函數(shù)。
-
在創(chuàng)建第一個(gè)類(lèi)實(shí)例或任何靜態(tài)成員被引用時(shí),.NET將自動(dòng)調(diào)用靜態(tài)構(gòu)造函數(shù)來(lái)初始化類(lèi),也就是說(shuō)我們無(wú)法直接調(diào)用靜態(tài)構(gòu)造函數(shù),也就無(wú)法控制什么時(shí)候執(zhí)行靜態(tài)構(gòu)造函數(shù)了。
-
如果類(lèi)中包含用來(lái)開(kāi)始執(zhí)行的 Main 方法,則該類(lèi)的靜態(tài)構(gòu)造函數(shù)將在調(diào)用 Main 方法之前執(zhí)行。
-
如果類(lèi)中的靜態(tài)字段帶有初始化,則靜態(tài)字段的初始化語(yǔ)句將在靜態(tài)構(gòu)造函數(shù)之前運(yùn)行。
-
一個(gè)類(lèi)只能有一個(gè)靜態(tài)構(gòu)造函數(shù)。
-
無(wú)參數(shù)的構(gòu)造函數(shù)可以與靜態(tài)構(gòu)造函數(shù)共存。盡管參數(shù)列表相同,但一個(gè)屬于類(lèi),一個(gè)屬于實(shí)例,所以不會(huì)沖突。
-
最多只運(yùn)行一次。
-
靜態(tài)構(gòu)造函數(shù)不可以被繼承。 ?
-
示例代碼如下:
運(yùn)行的結(jié)果是:
static A()
static B()
X=1,Y=2
轉(zhuǎn)載于:https://www.cnblogs.com/tianguook/archive/2013/01/07/2848931.html
超強(qiáng)干貨來(lái)襲 云風(fēng)專(zhuān)訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的C#静态构造函数总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 博客新家(agiledon.github
- 下一篇: C#GDI+编程基础