Imports System

NameSpace Test

    Public MustInherit Class A
    End Class
    
    Public Class AA
        Inherits A
    End Class
    
    Public Class AB
        Inherits A
    End Class
    
    Public Class AC
        Inherits A
    End Class
    
    Public Class ATest
        Public Shared Sub DoTest(ByVal a as A)
            Select Case True
                Case TypeOf a Is AA
                    Console.WriteLine("AA")
                Case TypeOf a Is AB
                    Console.WriteLine("AB")
                Case TypeOf a Is AC
                    Console.WriteLine("AC")
                Case Else
                    Console.WriteLine("unknown")
            End Select
        End Sub
    End Class
    
    Public Class EP
        Public Shared Sub Main()
            Dim a As A = New AC()
            ATest.DoTest(a)
        End Sub
    End Class


End NameSpace