У меня есть список типов, который представляет собой набор различных производных типов. Например:
A
B:A
C:A
D:A
Так что в списке будет B, C, D
Теперь я хочу повторить автоматическое приведение списка к производному типу и вызвать в них метод.
Хотя этот пример короткий, причина, по которой я надеялся выполнить автоматическое приведение к производному типу без проверок, состоит в том, чтобы избежать длинных вещей типа if / else, таких как
if(item[i] is B) (B).Process();
else if(item[i] is C) (C).Process();
// etc etc etc
Это становится утомительно, если у вас есть сложные настройки производных типов.
Есть ли у C # какой-либо способ автоматического приведения к соответствующему highest derived type
? Или я застрял с проверкой каждый раз?