Check Class Type in For each Loop
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.
Dim emp As Employee
For Each person As Object In people
If TypeOf person Is Employee Then
emp = CType(person, Employee)
Console.WriteLine(emp.Name)
ElseIf TypeOf person Is Customer Then
Console.WriteLine(CType(person, Customer).Name)
End If
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
Related examples in the same category