以下のサンプル 1 をご覧ください。
Public Class LocalVariable
Public Sub Run()
Dim TestVariable As Integer
TestVariable = Method1(TestVariable)
TestVariable = Method2(TestVariable)
TestVariable = Method3(TestVariable)
End Sub
Private Function Method1(ByVal x As Integer) As Integer
Return x + 1
End Function
Private Function Method2(ByVal x As Integer) As Integer
Return x + 2
End Function
Private Function Method3(ByVal x As Integer) As Integer
Return x + 3
End Function
End Class
以下のサンプル2:
Public Class InstanceVariable
Dim TestVariable As Integer
Public Sub Run()
Method1()
Method2()
Method3()
End Sub
Private Sub Method1()
TestVariable = TestVariable + 1
End Sub
Private Sub Method2()
TestVariable = TestVariable + 2
End Sub
Private Sub Method3()
TestVariable = TestVariable + 3
End Sub
End Class
各プログラムを実行した後の結果は明らかに同じです。つまり、TestVariable=6 です。私がオンラインで見つけたすべての例と職場では、サンプル 1 を使用しています。TestVariable は関数間で共有する必要があるため、これはインスタンス変数の誤用でしょうか? したがって、インスタンス変数を使用する必要があります。