Deixe-me dar um exemplo:
Tenho algumas definições genéricas de classe / interface:
interface IGenericCar< T > {...}
Tenho outra classe / interface que quero relacionar com a classe acima, por exemplo:
interface IGarrage< TCar > : where TCar: IGenericCar< (**any type here**) > {...}
Basicamente, quero que meu IGarrage genérico seja dependente IGenericCar
, independentemente de ser IGenericCar<int>
ou IGenericCar<System.Color>
, porque não tenho nenhuma dependência desse tipo.
T
dentro doIGarage<TCar>
? Não consigo ver nenhuma possibilidade na opção2. A melhor solução seriaIGarage<TCar>
encontrar o tipoT
analisando o tipoTCar
.