Kabul BaseFruit
eden bir kurucu varsa , int weight
böyle bir jenerik yöntemle bir parça meyve başlatabilir miyim?
public void AddFruit<T>()where T: BaseFruit{
BaseFruit fruit = new T(weight); /*new Apple(150);*/
fruit.Enlist(fruitManager);
}
Yorumların arkasına bir örnek eklenmiştir. Bunu sadece BaseFruit
parametresiz bir kurucu verir ve sonra üye değişkenler aracılığıyla her şeyi doldurursam yapabilirim. Gerçek kodumda (meyve ile ilgili değil) bu oldukça pratik değildir.
-Güncelleme-
Öyle görünüyor ki, o zaman hiçbir şekilde kısıtlamalar ile çözülemez. Cevaplardan üç aday çözüm var:
- Fabrika Desen
- yansıma
- aktivatör
Yansımanın en az temiz olduğunu düşünmeye eğilimliyim, ancak diğer ikisi arasında karar veremiyorum.