Imports System
Public Class MainClass
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