Lassen Sie mich ein Beispiel geben:
Ich habe eine generische Klassen- / Schnittstellendefinition:
interface IGenericCar< T > {...}
Ich habe eine andere Klasse / Schnittstelle, die ich mit der obigen Klasse in Beziehung setzen möchte, zum Beispiel:
interface IGarrage< TCar > : where TCar: IGenericCar< (**any type here**) > {...}
Grundsätzlich möchte ich, dass meine generische IGarrage abhängig ist IGenericCar
, unabhängig davon, ob es IGenericCar<int>
oder ist IGenericCar<System.Color>
, da ich keine Abhängigkeit von diesem Typ habe.
T
in der verwenden mussIGarage<TCar>
? Ich kann in Option2 keine Möglichkeit sehen. Die beste Lösung wäre, wennIGarage<TCar>
der TypT
durch Analysieren des Typs gefunden würdeTCar
.