Можно ли отличить List<Subclass>
до List<Superclass>
в С# 4.0?
Что-то в этом роде:
class joe : human {}
List<joe> joes = GetJoes();
List<human> humanJoes = joes;
Разве это не ковариация?
если вы можете сделать:
human h = joe1 as human;
почему бы вам не удастся сделать
List<human> humans = joes as List<human>;
чем это было бы неправомерно делать (joe) людям [0], потому что этот предмет был заброшен.. и все были бы счастливы. Теперь единственной альтернативой является создание нового списка