Je joue avec la création d'une usine générique comme suit:Y a-t-il un moyen dans scala de produire une instance générique sans exemple d'instance?
trait Factory[T] { def createInstance():T = new T() }
val dateFactory = new Factory[Date](){}
val myDate = dateFactory.createInstance()
Le «nouveau T() ne compile pas, comme T est définie avant l'exécution. Je sais que je peux le faire fonctionner en passant dans une instance de la classe à une méthode (ie createInstance (classOf [Date]))
Je demande s'il y a une magie d'introspection qui pourrait remplacer 'new T() 'pour que je puisse créer mon usine super simple?
Je vais prendre cette excellente réponse comme un indice que cela ne peut pas être fait avec un trait. –
Désolé, j'aurais dû le signaler. "les traits ne peuvent pas avoir de paramètres de type avec des limites de contexte" (quoth le compilateur) –