forse farei così :master:

codice:
        Dim b As Control
        b = TryCast(sender, Button)
        If b Is Nothing Then
            b = TryCast(sender, ImageButton)
            If b Is Nothing Then
                b = TryCast(sender, LinkButton)
                If b Is Nothing Then
                    Return
                End If
            End If
        End If
        PrintLn(b.GetType.ToString) 'restituisce il tipo
        PrintLn(b.ID)