Shared Sub Main() Dim e1 As New Employee("E", 50000) Dim e2 As New Employee("S", 60000) Dim myEmployees As New Employees() myEmployees.Add(e1) myEmployees.Add(e2) Dim aEmployee As Employee For Each aEmployee In myEmployees Console.WriteLine(aEmployee.Name) Next End Sub End Class Public Class Employees Inherits System.Collections.CollectionBase Public Sub Add(ByVal aEmployee As Employee) List.Add(aEmployee) End Sub Public Sub Remove(ByVal index As Integer) If index > Count - 1 Or index < 0 Then Console.WriteLine("Can't add this item") Else List.RemoveAt(index) End If End Sub Default Public ReadOnly Property Item(ByVal index As Integer) As Employee Get Return CType(List.Item(index), Employee) End Get End Property End Class Public Class Employee Private m_Name As String Private m_Salary As Decimal Public Sub New(ByVal theName As String, ByVal curSalary As Decimal) m_Name = theName m_Salary = curSalary End Sub Public ReadOnly Property Name() As String Get
Return m_Name End Get End Property Public ReadOnly Property Salary() As Decimal Get Return MyClass.m_Salary End Get End Property End Class