Déjame dar un ejemplo:
Tengo una definición genérica de clase / interfaz:
interface IGenericCar< T > {...}Tengo otra clase / interfaz que quiero relacionar con la clase anterior, por ejemplo:
interface IGarrage< TCar > : where TCar: IGenericCar< (**any type here**) > {...}
Básicamente, quiero que mi IGarrage genérico dependa de IGenericCar, independientemente de si es IGenericCar<int>o IGenericCar<System.Color>, porque no tengo ninguna dependencia de ese tipo.
Tdentro delIGarage<TCar>? No veo ninguna posibilidad en la opción 2. La mejor solución sería si seIGarage<TCar>encontrara el tipoTanalizando el tipoTCar.