Imports System.Collections
Imports System.Collections.Generic
Imports System.Collections.Specialized
public class Test
public Shared Sub Main
Dim emp_list As New EmployeeCollection
emp_list.Add(New Employee("A", "A"))
emp_list.Add(New Employee("B", "B"))
emp_list.Add(New Employee("C", "C"))
emp_list.Add(New Employee("D", "D"))
emp_list.Add(New Employee("E", "E"))
For Each emp As Employee In emp_list
Console.WriteLine(emp.ToString)
Next emp
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 EmployeeCollection
Inherits CollectionBase
Public Sub Add(ByVal value As Employee)
List.Add(value)
End Sub
Public Function Contains(ByVal value As Employee) As Boolean
Return List.Contains(value)
End Function
Public Function IndexOf(ByVal value As Employee) As Integer
Return List.IndexOf(value)
End Function
Public Sub Insert(ByVal index As Integer, ByVal value As Employee)
List.Insert(index, value)
End Sub
Default Public ReadOnly Property Item(ByVal index As Integer) As Employee
Get
Return DirectCast(List.Item(index), Employee)
End Get
End Property
Public Sub Remove(ByVal value As Employee)
List.Remove(value)
End Sub
End Class
|