Class Module VB.Net Tutorial

Option Strict On
 Imports System
 Public Class Cat
    Private mWeight As Integer
    Public Sub New(ByVal weight As Integer)
       mWeight = weight
    End Sub
    Public Property Weight( ) As Integer
       Get
          Return mWeight
       End Get
       Set(ByVal Value As Integer)
          mWeight = Value
       End Set
    End Property
    Public Overrides Function ToString( ) As String
       Return mWeight.ToString( )
    End Function
 End Class
 Module Module1
    Sub Main( )
       Dim theVariable As New Cat(5)
       Console.WriteLine("In Run. theVariable: {0}",theVariable)
       Doubler(theVariable)
       Console.WriteLine("Back in Run. theVariable: {0}",theVariable)
    End Sub
    Public Sub Doubler(ByVal param As Cat)
       Console.WriteLine("In Method1. Received param: {0}",param)
       param.Weight = param.Weight * 2
       Console.WriteLine("Updated param. Returning new value: {0}",param)
    End Sub
 End Module
In Run. theVariable: 5
In Method1. Received param: 5
Updated param. Returning new value: 10
Back in Run. theVariable: 10