我想使用反射来提供程序的调试输出。我不变的是,每个对象都有一个关联的父对象。
class bar() {
val x = new foo(this)
val y = new foo(this)
}
class foo(val parent: AnyObj) {
def getName() : String { ... }
}
然后我要填写getName(),以便它可以生成“到”此对象的路径。我想我想要一个例程,该例程遍历parent中的所有字段,并返回“ this”的名称。
即
val b = new bar()
b.x.getName() should return 'x'
b.y.getName() should return 'y'
这似乎应该是反思的全部,但是我在Scala编程或网站上都看不到如何实现此目标的清晰解释。
一个相关的且可能是说明性的问题可能是-我是否可以将反射与宏结合使用来填充路径“ x”和“ y”内的字段?在网站上,我看到的这种事例很少,尽管它似乎是一个非常强大的功能。