Mega Code Archive

 
Categories / VB.Net Tutorial / Collections
 

Extends DictionaryBase to create custom Collection

Imports System.Collections Imports System.Collections.Generic Imports System.Collections.Specialized public class Test       public Shared Sub Main         Dim dict As New EmployeeDictionary         dict.Add("123-45-6789", New Employee("A", "A"))         dict.Add("111-22-3333", New Employee("B", "B"))         dict.Add("365-76-5476", New Employee("C", "C"))         dict.Add("832-77-6847", New Employee("D", "D"))         Dim emp As Employee = dict.Item("365-76-5476")         Console.WriteLine(emp.ToString)    End Sub     End class Public Class Employee     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 EmployeeDictionary     Inherits System.Collections.DictionaryBase     Public Sub Add(ByVal new_key As String, ByVal new_employee As Employee)         Dictionary.Add(new_key, new_employee)     End Sub     Default Public Property Item(ByVal key As String) As Employee         Get             Return DirectCast(Dictionary.Item(key), Employee)         End Get         Set(ByVal Value As Employee)             Dictionary.Item(key) = Value         End Set     End Property     Public ReadOnly Property Keys() As ICollection         Get             Return Dictionary.Keys         End Get     End Property     Public ReadOnly Property Values() As ICollection         Get             Return Dictionary.Values         End Get     End Property     Public Function Contains(ByVal key As String) As Boolean         Return Dictionary.Contains(key)     End Function     Public Sub Remove(ByVal key As String)         Dictionary.Remove(key)     End Sub End Class C C