예를 들어 보겠습니다.
일반적인 클래스 / 인터페이스 정의가 있습니다.
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>
typeT
을 분석하여 유형 을 찾는 것입니다TCar
.