For Each loop through a Collection
Imports System Imports System.Collections Public Class MainClass Shared Sub Main(ByVal args As String()) Dim people As New Collection people.Add(New Employee("A")) people.Add(New Customer("B")) ' Works. For Each person As Object In people Console.WriteLine(person.Name) Next person End Sub End Class Public Class Employee Public Name As String Public Sub New(ByVal new_name As String) Name = new_name End Sub Public Overridable Function IsManager() As Boolean Return False End Function End Class Public Class Customer Public Name As String Public Sub New(ByVal new_name As String) Name = new_name End Sub End Class Public Class Manager Inherits Employee Public Sub New(ByVal new_name As String) MyBase.new(new_name) End Sub Public Overrides Function IsManager() As Boolean Return True End Function End Class