Я играл с созданием универсальной фабрики следующим образом:
trait Factory[T] { def createInstance():T = new T() }
val dateFactory = new Factory[Date](){}
val myDate = dateFactory.createInstance()
' new T () 'не компилируется, поскольку T не определено до времени выполнения. Я знаю, что могу заставить его работать, передавая экземпляр класса какому-либо методу (т. Е. CreateInstance (classOf [Date]))
Я спрашиваю, существует ли какая-то магия самоанализа, которая могла бы заменить 'new T ( ) 'чтобы я мог создать свою супер простую фабрику?