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
Related examples in the same category