0

以下のサンプル 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 は関数間で共有する必要があるため、これはインスタンス変数の誤用でしょうか? したがって、インスタンス変数を使用する必要があります。

4

1 に答える 1