Kabul BaseFruiteden bir kurucu varsa , int weightbö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 BaseFruitparametresiz 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.