Вы ожидаете рассматривать тип как ковариантный относительно общего аргумента. Классы никогда не могут быть ковариантными; вам нужно будет использовать интерфейс, а не (или в дополнение к) абстрактный класс, чтобы сделать его ковариантным относительно T
. Вам также нужно будет использовать C # 4.0.