2
Как я могу написать переменную как тип? Например:Scala: Переменные, содержащие типы
scala> class A
defined class A
scala> class B extends A
defined class B
scala> def convert[F, T](from: F): T = from.asInstanceOf[T]
convert: [F, T](from: F)T
scala> val b = new B
b: B = [email protected]
scala> convert[B, A](b)
res18: A = [email protected]
Это прекрасно работает. Но я заинтересован в этом:
scala> val aType = classOf[A]
aType: Class[A] = class A
scala> convert[B, aType](b)
<console>:12: error: not found: type aType
convert[B, aType](b)
Как бы сделать это без инициализации объекта и использования obj.type
там? Я подозреваю, что мне нужно использовать некоторые функции отражения (возможно, TypeTag
?), Но я не мог понять, что правильно использовать здесь.
Спасибо!
Почему я продолжаю не видя их ... Большое спасибо! – Emre