Check Class Type in For each Loop : Class Type « Class « VB.Net






Check Class Type in For each Loop

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

1.CType a ClassCType a Class