被一个看似简单的问题所困扰,其中有大量信息(太多信息无法筛选以了解当前状态到底是什么)。
无论如何,这里是。
trait _Foo
class Foo Extends _Foo with WhoAmI
trait WhoAmI {
def who = {
getClass match {
case x: _Foo => "should be Foo instance, which extends _Foo"
case _ => "why?"
}
}
}
val foo = new Foo
foo.who
已经尝试了使用classOf和isAssignableFrom的守卫,以及循环通过x.getInterfaces(我至少在那里看到 _Foo ),但在直接“精益”匹配方面没有运气。
这个擦除是“在工作”还是我错过了一个明显的 1-liner?
如果这是许多其他线程的重复,我们可以关闭,但请指出我正确的方向!;-)
谢谢