VB.NET 寫.NET可以指定運行SUB MAIN嗎?調用任意一個里面的類時,如何先執行某段初始化代碼?
分享
1. 在?VB.NET?中指定運行?Sub Main
在?VB.NET?里,你能夠指定?Sub Main
?作為程序的入口點。下面為你介紹兩種實現方式:
方式一:在項目屬性中設置
- 打開你的?VB.NET?項目。
- 右鍵點擊項目名稱,選擇 “屬性”。
- 在 “應用程序” 選項卡中,將 “啟動對象” 設置為包含?
Sub Main
?的類。
方式二:使用代碼指定
在代碼中,你可以創建一個包含?Sub Main
?的類,示例如下:
Module ProgramSub Main()Console.WriteLine("程序從 Sub Main 開始執行。")' 可以在這里調用其他類和方法End Sub
End Module
2. 調用任意類時先執行某段初始化代碼
當調用任意類時,若想先執行某段初始化代碼,有以下幾種實現方法:
方法一:使用靜態構造函數
靜態構造函數會在類被首次使用之前自動執行,并且僅執行一次。示例如下:
Public Class MyClassPrivate Shared isInitialized As Boolean = FalseShared Sub New()If Not isInitialized Then' 執行初始化代碼Console.WriteLine("執行初始化代碼。")isInitialized = TrueEnd IfEnd SubPublic Sub DoSomething()Console.WriteLine("執行其他操作。")End Sub
End ClassModule ProgramSub Main()Dim obj As New MyClass()obj.DoSomething()End Sub
End Module
方法二:使用單例模式
單例模式可以確保一個類僅有一個實例,并在首次創建實例時執行初始化代碼。示例如下:
Public Class SingletonClassPrivate Shared _instance As New Lazy(Of SingletonClass)(Function() New SingletonClass())Private Sub New()' 執行初始化代碼Console.WriteLine("執行初始化代碼。")End SubPublic Shared ReadOnly Property Instance() As SingletonClassGetReturn _instance.ValueEnd GetEnd PropertyPublic Sub DoSomething()Console.WriteLine("執行其他操作。")End Sub
End ClassModule ProgramSub Main()Dim singleton As SingletonClass = SingletonClass.Instancesingleton.DoSomething()End Sub
End Module
方法三:在調用類的方法前手動調用初始化方法
你可以在類中定義一個初始化方法,在調用其他方法之前手動調用該初始化方法。示例如下:
Public Class MyClassPrivate isInitialized As Boolean = FalsePublic Sub Initialize()If Not isInitialized Then' 執行初始化代碼Console.WriteLine("執行初始化代碼。")isInitialized = TrueEnd IfEnd SubPublic Sub DoSomething()Initialize()Console.WriteLine("執行其他操作。")End Sub
End ClassModule ProgramSub Main()Dim obj As New MyClass()obj.DoSomething()End Sub
End Module
這些方法各有特點,你可以依據具體需求選擇合適的方法來執行初始化代碼。