Mega Code Archive

 
Categories / VB.Net / Data Structure
 

Make Dictionary based on your own Object

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