Extends ListDictionary to create custom Collection : ListDictionary « Collections « VB.Net Tutorial






Imports System.Collections
Imports System.Collections.Generic
Imports System.Collections.Specialized

public class Test
  
   public Shared Sub Main
        Dim dict As New EmployeeListDictionary
        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 EmployeeListDictionary
    Inherits ListDictionary

    Public Shadows Sub Add(ByVal new_key As String, ByVal new_employee As Employee)
        MyBase.Add(new_key, new_employee)
    End Sub

    Default Public Shadows Property Item(ByVal key As String) As Employee
        Get
            Return DirectCast(MyBase.Item(key), Employee)
        End Get
        Set(ByVal Value As Employee)
            MyBase.Item(key) = Value
        End Set
    End Property

    Public Shadows Function Contains(ByVal key As String) As Boolean
        Return MyBase.Contains(key)
    End Function

    Public Shadows Sub Remove(ByVal key As String)
        MyBase.Remove(key)
    End Sub
End Class
C C








8.18.ListDictionary
8.18.1.Extends ListDictionary to create custom Collection