關於C#靜態建構函式的幾點說明

來源:互聯網
上載者:User

http://www.cnblogs.com/michaelxu/archive/2007/03/29/693401.html

 

靜態建構函式是C#的一個新特性,其實好像很少用到。不過當我們想初始化一些靜態變數的時候就需要用到它了。這個建構函式是屬於類的,而不是屬於哪裡執行個體的,就是說這個建構函式只會被執行一次。也就是在建立第一個執行個體或引用任何靜態成員之前,由.NET自動調用。
  

class SimpleClass
{
// Static constructor
static SimpleClass()
{
//
}
}

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

  1、靜態建構函式既沒有存取修飾詞,也沒有參數。因為是.NET調用的,所以像public和private等修飾符就沒有意義了。
  
  2、是在建立第一個類執行個體或任何靜態成員被引用時,.NET將自動調用靜態建構函式來初始化類,也就是說我們無法直接調用靜態建構函式,也就無法控制什麼時候執行靜態建構函式了。

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

  4、無參數的建構函式可以與靜態建構函式共存。儘管參數列表相同,但一個屬於類,一個屬於執行個體,所以不會衝突。

  5、最多隻運行一次。

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

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.