Izinkan saya memberi contoh:
Saya memiliki beberapa definisi kelas / antarmuka generik:
interface IGenericCar< T > {...}
Saya memiliki kelas / antarmuka lain yang ingin saya kaitkan dengan kelas di atas, misalnya:
interface IGarrage< TCar > : where TCar: IGenericCar< (**any type here**) > {...}
Pada dasarnya, saya ingin IGarrage generik saya bergantung IGenericCar
, terlepas dari apakah itu IGenericCar<int>
atau IGenericCar<System.Color>
, karena saya tidak memiliki ketergantungan pada tipe itu.
T
di dalamIGarage<TCar>
? Saya tidak bisa melihat kemungkinan di option2. Solusi terbaik adalah jikaIGarage<TCar>
menemukan tipeT
dengan menganalisis tipeTCar
.