ในเทมเพลต C ++ เราสามารถระบุว่าพารามิเตอร์บางประเภทเป็นค่าเริ่มต้น ยกเว้นที่ระบุไว้อย่างชัดเจนจะใช้ประเภท T.
สามารถทำได้หรือประมาณใน C #?
ฉันกำลังมองหาสิ่งที่ต้องการ:
public class MyTemplate<T1, T2=string> {}
ดังนั้นอินสแตนซ์ของประเภทที่ไม่ได้ระบุอย่างชัดเจนT2
:
MyTemplate<int> t = new MyTemplate<int>();
โดยพื้นฐานแล้วจะเป็น:
MyTemplate<int, string> t = new MyTemplate<int, string>();
ในที่สุดฉันกำลังดูกรณีที่มีเทมเพลตที่ค่อนข้างใช้กันอย่างแพร่หลาย แต่ฉันกำลังพิจารณาขยายด้วยพารามิเตอร์ประเภทเพิ่มเติม ฉันสามารถคลาสย่อยได้ฉันเดา แต่ฉันอยากรู้ว่ามีตัวเลือกอื่นในหลอดเลือดดำนี้หรือไม่