Polymorphe Instanziierung in Scala mit TypeTag und ClassTag
In Scala 2.9 konnte man die polymorphe Instanziierung als implementieren
def newInstance[T](implicit m: Manifest[T]) =
m.erasure.newInstance.asInstanceOf[T]
aber ab 2.10Manifest
wird ersetzt durchTypeTag
und mir ist nicht klar, wie ich mit etwas ähnlichem umgehen sollTypeTag
. Ich würde es vorziehen, wenn die TypeTag-Version alle verfügbaren Typinformationen beibehält.
Ich weiß, dass das oben Genannte nur für Eigenschaften / Klassen funktioniert, die keine Konstruktorargumente erfordern, und dann funktioniert es nicht immer, aber es funktioniert gut genug für das, was ich brauche. Wenn ich die neuen Reflection-APIs besser machen kann, wäre das großartig.