Я играл с созданием универсальной фабрики следующим образом:
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 () ', чтобы я мог создать свою супер простую фабрику?