Если вы посмотрите на документацию для List<T>
класса , вы заметите, что List
является универсальным типом (отсюда <T>
),и универсальные типы требуют параметра (или более), который указывает тип (типы) объекта, который он будет использовать / содержать.Вы должны указать некоторый тип, даже если это просто object
.
В вашем случае у вас есть список Shape
объектов, поэтому ваш код инициализации можно изменить (и упростить, используя синтаксис инициализатора коллекции), чтобы указать этот тип:
var shapes = new List<Shape>
{
new Rectangle(10, 10),
new Circle(10),
new Triangle(10, 10),
new Circle(20)
};