Mega Code Archive

 
Categories / VB.Net Tutorial / Class Module
 

Two properties

Imports System Imports System.Collections Class EmployeeList   Private mEmployees As Hashtable   Private mLevels As Hashtable   Public Sub New()     mEmployees = New Hashtable()     mLevels = New Hashtable()   End Sub   Public Default Property Employee(ByVal ID As Integer) As Employee     Get       Dim theObject As Object       theObject = mEmployees(ID)       Return CType(theObject, Employee)     End Get     Set(ByVal Value As Employee)       mEmployees(ID) = Value     End Set   End Property   Public Property Level(ByVal country As String) As String     Get       Dim theObject As Object       theObject = mLevels(country)       Return CType(theObject, String)     End Get     Set(ByVal Value As String)       mLevels(country) = Value     End Set   End Property End Class Class Employee   Private mName As String   Private mWage As Double   Private mID As Integer   Public Sub New(ByVal name As String, ByVal wage As Double,ByVal id As Integer)     mName = name     mWage = wage     mID = id   End Sub   Public Property Name() As String     Get       Return mName     End Get     Set(ByVal Value As String)       mName = Value     End Set   End Property   Public ReadOnly Property Wage() As Double     Get       Return mWage     End Get   End Property   Public ReadOnly Property ID() As Integer     Get       Return mID     End Get   End Property   Public Sub PayRise(ByVal amount As Double)     mWage += amount   End Sub   Public Overrides Function ToString() As String     Return "[" & mID & "] " & mName & " " & mWage   End Function End Class Module DefaultProperty   Sub Main()     Dim employer As New EmployeeList()     employer(1) = New Employee("A", 25, 1)     employer(2) = New Employee("J", 35, 2)     employer(3) = New Employee("T", 17, 3)     employer(4) = New Employee("E", 16, 4)     employer.Level("AA") = "A"     employer.Level("BB") = "B"     employer.Level("CC") = "C"     employer.Level("DD") = "D"     employer.Level("EE") = "E"     employer.Level("FF") = "F"     Dim country As String     country = "AA"     Dim city As String     city = employer.Level(country)     If city Is Nothing Then       Console.WriteLine("No office in {0}", country)     Else       Console.WriteLine("Level in {0}: {1}", country, city)     End If   End Sub End Module Level in AA: A