หากBaseFruitมีคอนสตรัคเตอร์ที่ยอมรับได้int weightฉันจะยกตัวอย่างผลไม้ในวิธีทั่วไปแบบนี้ได้ไหม
public void AddFruit<T>()where T: BaseFruit{
    BaseFruit fruit = new T(weight); /*new Apple(150);*/
    fruit.Enlist(fruitManager);
}
ตัวอย่างถูกเพิ่มไว้ข้างหลังความคิดเห็น ดูเหมือนว่าฉันจะทำสิ่งนี้ได้ก็ต่อเมื่อฉันให้BaseFruitนวกรรมิกแบบไม่มีพารามิเตอร์แล้วเติมทุกอย่างผ่านตัวแปรสมาชิก ในรหัสที่แท้จริงของฉัน (ไม่เกี่ยวกับผลไม้) นี้ค่อนข้างทำไม่ได้
- อัปเดต -
 
ดังนั้นจึงไม่สามารถแก้ไขได้ด้วยข้อ จำกัด แต่อย่างใด จากคำตอบมีสามวิธีแก้ปัญหาผู้สมัคร:
- รูปแบบโรงงาน
 - การสะท้อน
 - Activator
 
ฉันมักจะคิดว่าการไตร่ตรองนั้นสะอาดน้อยที่สุด แต่ฉันก็ไม่สามารถตัดสินใจได้ระหว่างสองสิ่งนี้