C#.NET - Как я могу заставить typeof () работать с наследованием?

Ну, всегда существует, "если Вы не прокомментируете свой код, мы найдем кого-то еще, кто прокомментирует их" подход.

более мягко, скажите им, что они очень подводят команду, если они не документируют и комментируют, что они делают. Код НЕ принадлежит человеку, если они не полные одинокие волки. Именно команде, группе, быть ли компанией или сообществом.

16
задан Mogsdad 27 September 2015 в 01:46
поделиться

3 ответа

Вы можете просто использовать is :

if (c is B) // Will be true

if (d is B) // Will be false
42
ответ дан 30 November 2019 в 15:10
поделиться

Изменить: это отвечает на вопрос в заголовке темы. cdm9002 предлагает лучший ответ на проблему, как описано в полном тексте сообщения.

typeof(B).IsAssignableFrom(c.GetType())
23
ответ дан 30 November 2019 в 15:10
поделиться

Похоже, это работа для полиморфизма, в отличие от большого оператора switch с тестами для определенных классов.

4
ответ дан 30 November 2019 в 15:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: