Use CType to convert from derived class to base class : CType « Data Type « VB.Net Tutorial






public class Test
   public Shared Sub Main
        Dim people As New Collection
        people.Add(New Employee("A"))
        people.Add(New Customer("B"))

        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
A
B








2.25.CType
2.25.1.Use CType to convert from derived class to base class