Ограничение базовым классом в C#
Ограничение базовым классом обещает, что T является
указанным классом или его наследником. Его записывают после
метода: where T : Entity. Тогда внутри метода видны члены
Entity. Без ограничения у T этих членов нет, и
обращение к ним не компилируется. Базовым классом в одном
ограничении может быть только один.
Метод читает числовой ключ сущности:
static int ReadId<T>(T item) where T : Entity => item.Id;
Console.WriteLine(ReadId(new Entity { Id = 5 })); // выведет 5
class Entity { public int Id { get; set; } }
Дан код:
class Entity
{
public int Id { get; set; }
}
Опишите класс Invoice, наследник Entity, и обобщённый метод с ограничением этим классом. Запишите в ключ накладной число 4 и выведите его.