Si BaseFruit a un constructeur qui accepte un int poids, je peux instancier un morceau de fruit dans une méthode générique de ce genre?
public void AddFruit<T>()where T: BaseFruit{
BaseFruit fruit = new T(weight); /*new Apple(150);*/
fruit.Enlist(fruitManager);
}
Un exemple est ajouté derrière les commentaires. Il semble que je ne peut le faire que si je donne BaseFruit un parless constructeur et ensuite remplir tout à travers des variables membres. Dans mon vrai code (pas sur les fruits), c'est plutôt pratique.
-Mise à jour-
Il semble donc qu'il ne peut pas être résolu par des contraintes de toute façon-là. À partir des réponses il y a trois solutions:
- Modèle De Fabrique
- La réflexion
- Activateur
Je pense que la réflexion est la moins propre, mais je ne peux pas décider entre les deux autres.