変数の寿命
・Classの直下に宣言した変数は、Classが破棄されるまでクリアされない。
・Staticな変数は、Classが破棄されるまでクリアされない。
・Sharedな変数はアプリが終了するまで。
・Sharedなメソッド内のStaticな変数はアプリが終了するまでクリアされない。
Public Class Form1
Dim img As Image ←クラスが破棄されるまでクリアされない
Shared val as Intefer ←アプリが終了するまでクリアされない
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim a As New Class3 ←Button1_Clickが最後まで流れたらクリアされる
Dim b as integer ←Button1_Clickが最後まで流れたらクリアされる
Static Dim c As Integer ←クラスが破棄されるまでクリアされない
End Sub
Public Shared Function sharedTestFunc() As Boolean
Dim hSharedHiStatic As Integer
Static Dim bSharedStatic As Integer ←アプリが終了するまでクリアされない
hSharedHiStatic += 1
bSharedStatic += 1
a += 1
Console.WriteLine($"Shared且つ非Static{hSharedHiStatic}
Shared且つStatic{bSharedStatic}")
Return True
End Function
End Class