Приведу пример:
У меня есть определение общего класса / интерфейса:
interface IGenericCar< T > {...}
У меня есть другой класс / интерфейс, который я хочу связать с классом выше, например:
interface IGarrage< TCar > : where TCar: IGenericCar< (**any type here**) > {...}
По сути, я хочу, чтобы мой общий IGarrage зависел от него IGenericCar
, независимо от того, является он IGenericCar<int>
или IGenericCar<System.Color>
, потому что у меня нет никакой зависимости от этого типа.
T
внутриIGarage<TCar>
? Я не вижу возможности в варианте 2. Лучшим решением было быIGarage<TCar>
найти типT
путем анализа типаTCar
.