簡體   English   中英

CLR如何處理靜態類?

[英]How does the CLR handles static classes?

任何人都可以解釋CLR如何處理靜態類? CLR是否為內部處理靜態類創建了一個單例實例? 如果沒有,為什么我們在C#中有一個靜態構造函數? (根據我的理解,我們僅使用構造函數來實例化類)

首先,CLR中沒有靜態類。 CLR對靜態類一無所知。 這是C#的特色。

靜態類被編譯為abstract類和sealed類。 使其abstract化可防止實例化並sealed防止繼承。

靜態類沒有特殊之處,它只是一個簡單的類,所有成員都是靜態的。

是,CLR在內部創建一個單例實例來處理靜態類嗎?

,它是抽象的,無法實例化。

如果不是為什么我們在C#中有一個靜態構造函數?

首次引用或實例化類型時,將調用靜態構造函數。 它用於初始化類的靜態成員。

什么時候是在C#中調用的靜態構造函數?

首次引用類型時,將調用static構造函數。 它不必是一個static構造函數的static類。

CLR不會創建static類的單例實例。 它確實在初始化后將static變量保留在內存中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM