[英]How does the CLR handles static classes?
任何人都可以解釋CLR如何處理靜態類? CLR是否為內部處理靜態類創建了一個單例實例? 如果沒有,為什么我們在C#中有一個靜態構造函數? (根據我的理解,我們僅使用構造函數來實例化類)
首先,CLR中沒有靜態類。 CLR對靜態類一無所知。 這是C#的特色。
靜態類被編譯為abstract
類和sealed
類。 使其abstract
化可防止實例化並sealed
防止繼承。
靜態類沒有特殊之處,它只是一個簡單的類,所有成員都是靜態的。
是,CLR在內部創建一個單例實例來處理靜態類嗎?
不 ,它是抽象的,無法實例化。
如果不是為什么我們在C#中有一個靜態構造函數?
首次引用或實例化類型時,將調用靜態構造函數。 它用於初始化類的靜態成員。
首次引用類型時,將調用static
構造函數。 它不必是一個static
構造函數的static
類。
CLR不會創建static
類的單例實例。 它確實在初始化后將static
變量保留在內存中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.