Ini adalah pertanyaan sintaks. Saya memiliki kelas generik yang mewarisi dari kelas dasar generik dan menerapkan batasan ke salah satu parameter tipe. Saya juga ingin kelas turunan untuk mengimplementasikan antarmuka. Untuk kehidupan saya, saya tidak bisa menemukan sintaks yang benar.
Inilah yang saya miliki:
DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar { ... }
Hal pertama yang terlintas dalam pikiran adalah ini:
DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar, IFoo { ... }
Tapi itu tidak benar karena itu menyebabkan T2 perlu mengimplementasikan IBar dan IFoo, bukan DerivedFoo untuk mengimplementasikan IFoo.
Saya sudah mencoba sedikit Googling, penggunaan titik dua, titik koma, dll, tapi ternyata saya kekurangan. Saya yakin jawabannya sederhana saja.