VB.Net Tutorial/Collections/DictionaryBase
Версия от 16:40, 26 мая 2010; (обсуждение)
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