VB.Net/Class/Instance Variables

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

Scope rules and instance variables

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