นี่คือคำถามเกี่ยวกับไวยากรณ์ ฉันมีคลาสทั่วไปที่สืบทอดมาจากคลาสพื้นฐานทั่วไปและกำลังใช้ข้อ จำกัด กับพารามิเตอร์ชนิดหนึ่ง ฉันยังต้องการให้คลาสที่ได้รับมาใช้อินเทอร์เฟซ สำหรับชีวิตของฉันดูเหมือนว่าฉันไม่สามารถเข้าใจไวยากรณ์ที่ถูกต้องได้
นี่คือสิ่งที่ฉันมี:
DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar { ... }
สิ่งแรกที่นึกถึงคือ:
DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar, IFoo { ... }
แต่นั่นไม่ถูกต้องเนื่องจากทำให้ T2 จำเป็นต้องใช้ทั้ง IBar และ IFoo ไม่ใช่ DerivedFoo เพื่อใช้ IFoo
ฉันได้ลองใช้ Googling ใช้เครื่องหมายทวิภาคอัฒภาค ฯลฯ แล้ว แต่กลับสั้นลง ฉันแน่ใจว่าคำตอบนั้นง่ายมาก