Imports System
Imports System.Collections
Imports System.Collections.Generic
Public Class MainClass
Shared Sub Main(ByVal args As String())
Dim dict As New StudentDictionary
dict.Add("113-11-1111", New Student("A", "a"))
dict.Add("222-22-2222", New Student("B", "b"))
dict.Add("333-33-3333", New Student("C", "c"))
dict.Add("444-44-4444", New Student("D", "d"))
Dim student As Student = dict.Item("365-76-5476")
Console.WriteLine(student.ToString)
End Sub
End Class
Public Class Student
Private m_FirstName As String
Private m_LastName As String
Public Sub New(ByVal first_name As String, ByVal last_name As String)
m_FirstName = first_name
m_LastName = last_name
End Sub
Public Overrides Function ToString() As String
Return m_FirstName & " " & m_LastName
End Function
End Class
Public Class StudentDictionary
Inherits System.Collections.DictionaryBase
' Add a Dictionary entry.
Public Sub Add(ByVal new_key As String, ByVal new_student As Student)
Dictionary.Add(new_key, new_student)
End Sub
' Return an object with the given key.
Default Public Property Item(ByVal key As String) As Student
Get
Return DirectCast(Dictionary.Item(key), Student)
End Get
Set(ByVal Value As Student)
Dictionary.Item(key) = Value
End Set
End Property
' Return a collection containing the Dictionary's keys.
Public ReadOnly Property Keys() As ICollection
Get
Return Dictionary.Keys
End Get
End Property
' Return a collection containing the Dictionary's values.
Public ReadOnly Property Values() As ICollection
Get
Return Dictionary.Values
End Get
End Property
' Return True if the Dictionary contains this Student.
Public Function Contains(ByVal key As String) As Boolean
Return Dictionary.Contains(key)
End Function
' Remove this entry.
Public Sub Remove(ByVal key As String)
Dictionary.Remove(key)
End Sub
End Class