Ну, всегда существует, "если Вы не прокомментируете свой код, мы найдем кого-то еще, кто прокомментирует их" подход.
более мягко, скажите им, что они очень подводят команду, если они не документируют и комментируют, что они делают. Код НЕ принадлежит человеку, если они не полные одинокие волки. Именно команде, группе, быть ли компанией или сообществом.
Вы можете просто использовать is
:
if (c is B) // Will be true
if (d is B) // Will be false
Изменить: это отвечает на вопрос в заголовке темы. cdm9002 предлагает лучший ответ на проблему, как описано в полном тексте сообщения.
typeof(B).IsAssignableFrom(c.GetType())
Похоже, это работа для полиморфизма, в отличие от большого оператора switch с тестами для определенных классов.