J'ai un trait qui est générique et va comme ceci:Scala instancier une classe de béton De type générique
trait MyTrait[T] {
def doSomething(elems: Seq[T])
}
Je puis une usine d'objet dont la définition va comme ceci:
object MyTraitFactory {
def apply[T](param1: Boolean, param2: Boolean): MyTrait[T] = {
// based on the type of T, I would like to instantiate sub types
}
}
I sont venus des implémentations concrètes qui sont par exemple:
class MyStringTrait extends MyTrait[String]
class MyIntTrait extends MyTrait[Int]
J'ai maintenant besoin de ce bit magique qui chercherait le tapez dans ma fabrique d'objets et instanciez les implémentations correspondantes. Aucune suggestion?