VB.Net/Class/Instance Variables
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>