VB.Net/Class/Instance Variables

Материал из VB Эксперт
Перейти к: навигация, поиск

Scope rules and instance variables

<source lang="vbnet"> Imports System Public Class MainClass

  " instance variable can be used anywhere in class
  Shared Dim value As Integer = 1
   Shared Sub Main(ByVal args As String())
     " variable local to FrmScoping_Load hides instance variable
     Dim value As Integer = 5
     Console.WriteLine( "local variable value in" & _
        " FrmScoping_Load is " & value )
     MethodA() " MethodA has automatic local value
     MethodB() " MethodB uses instance variable value
     MethodA() " MethodA creates new automatic local value
     MethodB() " instance variable value retains its value
     Console.WriteLine( vbCrLf & vbCrLf & "local variable " & _
        "value in FrmScoping_Load is " & value )
   End Sub
  " automatic local variable value hides instance variable
  Shared Sub MethodA()
     Dim value As Integer = 25 " initialized after each call
     Console.WriteLine( vbCrLf & vbCrLf & "local variable " & _
        "value in MethodA is " & value & " after entering MethodA" )
     value += 1
     Console.WriteLine( vbCrLf & "local variable " & _
        "value in MethodA is " & value & " before exiting MethodA" )
  End Sub " MethodA
  " uses instance variable value
  Shared Sub MethodB()
     Console.WriteLine( vbCrLf & vbCrLf & "instance variable" & _
        " value is " & value & " after entering MethodB" )
     value *= 10
     Console.WriteLine( vbCrLf & "instance variable " & _
        "value is " & value & " before exiting MethodB" )
  End Sub " MethodB

End Class

      </source>