В VB 2010 для проектов, нацеленных на .NET Framework 4 и более поздние версии, теперь вы можете сделать следующее:
Select Case msg.GetType()
Case GetType(ClassA)
End Select
В более ранних версиях VB это не работало, потому что вы не могли сравнить два типа с равенством. Вам нужно проверить, указывают ли они на одну и ту же ссылку, используя ключевое слово Is. Это невозможно сделать в случае выбора, если только вы не используете для сравнения свойство типа типа Name или FullName, как предложено Майклом. Вы можете использовать комбинацию If и ElseIf, хотя:
Dim type = msg.GetType()
If type Is GetType(ClassA)
...
ElseIf type Is GetType(ClassB)
...
...
End If