我想做一些类似以下的事情:
trait Sim {
type Probe
var probe: Probe
def reflectProbe() {
// works:
val tt_int = scala.reflect.runtime.universe.typeTag[Int]
// does not work (No TypeTag available for Sim.this.Probe):
val tt_probe = scala.reflect.runtime.universe.typeTag[Probe]
}
}
class WorldProbe
class World extends Sim {
type Probe = WorldProbe
var probe: Probe = new WorldProbe
}
我想在特征模拟中写一个反射方法,它反映了特征模拟的探测类,定义为一个抽象类型的探测。如何使抽象类型的类型标签信息可用?
谢谢!
发布于 2015-01-19 15:15:15
对于抽象类型,可以使用WeakTypeTags
:
val tt_probe = scala.reflect.runtime.universe.weakTypeTag[Probe]
https://stackoverflow.com/questions/28027682
复制相似问题