C#靜態構造函數特點淺析
C#靜態構造函數的特點是什么呢?讓我們首先來了解下C#靜態構造函數:
C#靜態構造函數用于初始化任何靜態數據,或用于執行僅需執行一次的特定操作。在創建第一個實例或引用任何靜態成員之前,將自動調用靜態構造函數。
- class SimpleClass{ // Static constructor
- static SimpleClass() { //... }}
C#靜態構造函數具有以下特點:
C#靜態構造函數既沒有訪問修飾符,也沒有參數。
在創建第一個實例或引用任何靜態成員之前,將自動調用靜態構造函數來初始化類。
無法直接調用靜態構造函數。
在程序中,用戶無法控制何時執行靜態構造函數。
C#靜態構造函數的典型用途是:當類使用日志文件時,將使用這種構造函數向日志文件中寫入項。
C#靜態構造函數在為非托管代碼創建包裝類時也很有用,此時該構造函數可以調用 LoadLibrary 方法。
C#靜態構造函數示例
在此示例中,類 Bus 有一個靜態構造函數和一個靜態成員 Drive()。當調用 Drive() 時,將調用靜態構造函數來初始化類
- public class Bus{
- // Static constructor:
- static Bus() {
- System.Console.WriteLine(
- "The static constructor invoked.");
- }
- public static void Drive() { System.Console.WriteLine(
- "The Drive method invoked.");
- }
- }
- class TestBus{
- static void Main() {
- Bus.Drive();
- }
- }
C#靜態構造函數示例之輸出:
- The static constructor invoked.
- The Drive method invoked.
C#靜態構造函數的特點就向你介紹到這里,希望對你學習了解C#靜態構造函數有所幫助。
【編輯推薦】