[英]Can we have a private constructor in a static class?
我懷疑靜態類可以包含私有構造函數。
靜態類不能包含實例構造函數
http://msdn.microsoft.com/en-us/library/79b3xss3.aspx
以下列表提供了靜態類的主要功能:
- 僅包含靜態成員。
- 無法實例化。
- 是密封的。
- 不能包含實例構造函數。
這個構造函數會做什么? 該類是靜態的,因此它永遠不會被實例化。 您可以在非靜態類上使用靜態構造函數來初始化靜態字段,但在靜態類中,唯一有意義的構造函數是靜態構造函數,並且它被稱為CLR。
另外 : Jon Skeet發布了一篇關於靜態類初始化時間的文章 (通常是在第一次使用時初始化,但有時你想在程序啟動時初始化它)和.net 4中可能的更改。
你的疑問是正確的。
靜態類只能有一個靜態構造函數,而public / private不適用,因為你的代碼永遠不能調用這個構造函數(CLR會這樣做)。
因此,您可能不會在靜態構造函數上使用訪問修飾符(public / private / ...)。
規則是靜態類,不能有實例構造函數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.