Class Module VB.Net Tutorial

Module Tester
   Sub Main()
      Dim number1 As Integer = 2
      Console.WriteLine("Before calling SquareByValue, " & "number1 is {0}", number1)
      SquareByValue(number1)  ' passes number1 by value
      Console.WriteLine("After returning from SquareByValue, " & "number1 is {0}" & vbCrLf, number1)
      Dim number2 As Integer = 2
      Console.WriteLine("Before calling SquareByReference, " & "number2 is {0}", number2)
      SquareByReference(number2) ' passes number2 by reference
      Console.WriteLine("After returning from " & _
         "SquareByReference, number2 is {0}" & vbCrLf, number2)
      Dim number3 As Integer = 2
      Console.WriteLine("Before calling SquareByReference " & "using parentheses, number3 is {0}",number3)
      SquareByReference((number3)) ' passes number3 by value
      Console.WriteLine("After returning from " & "SquareByReference, number3 is {0}", number3)
   End Sub
   Sub SquareByValue(ByVal number As Integer)
      Console.WriteLine("After entering SquareByValue, " & "number is {0}", number)
      number *= number
      Console.WriteLine("Before exiting SquareByValue, " & "number is {0}", number)
   End Sub
   Sub SquareByReference(ByRef number As Integer)
      Console.WriteLine("After entering SquareByReference" & ", number is {0}", number)
      number *= number
      Console.WriteLine("Before exiting SquareByReference" & ", number is {0}", number)
   End Sub 
End Module
Before calling SquareByValue, number1 is 2
After entering SquareByValue, number is 2
Before exiting SquareByValue, number is 4
After returning from SquareByValue, number1 is 2
Before calling SquareByReference, number2 is 2
After entering SquareByReference, number is 2
Before exiting SquareByReference, number is 4
After returning from SquareByReference, number2 is 4
Before calling SquareByReference using parentheses, number3 is 2
After entering SquareByReference, number is 2
Before exiting SquareByReference, number is 4
After returning from SquareByReference, number3 is 2