Mega Code Archive

 
Categories / VB.Net Tutorial / Class Module
 

MultiKey Properties

Imports System Imports System.Collections Class Employee   Private MName As String   Private MWage As Double   Public Sub New(ByVal Name As String, ByVal Wage As Double)     MName = Name     MWage = Wage   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 Sub PayRaise(ByVal Amount As Double)     MWage += Amount   End Sub   Public Overrides Function ToString() As String     Return MName & " " & MWage   End Function End Class Class EmployeeList   Private MEmployees As Hashtable   Public Sub New()     MEmployees = New Hashtable()   End Sub   Public Property Employee(ByVal Location As String, ByVal ID As Integer) As Employee     Get       Dim Key As String = Location + ID.ToString()       Return MEmployees(Key)     End Get     Set(ByVal Value As Employee)       Dim Key As String = Location + ID.ToString()       MEmployees(Key) = Value     End Set   End Property End Class Module Test   Sub Main()     Dim EmployeeList As New EmployeeList()     EmployeeList.Employee("A", 1) = New Employee("S", 2)     EmployeeList.Employee("B", 2) = New Employee("C", 3)     EmployeeList.Employee("C", 3) = New Employee("B", 1)     EmployeeList.Employee("D", 4) = New Employee("A", 1)     Dim Who As Employee     Who = EmployeeList.Employee("Boston", 200)     Console.WriteLine("{0}", Who)     Who = EmployeeList.Employee("Geneva", 200)     Console.WriteLine("{0}", Who)   End Sub End Module