Scala 2.10带来了除了提供JVM(或者我猜CLR)之外的反射.
我们还有什么特别值得期待的,它将如何在平台上得到改善?
例如,是否会有一个类反映语言在字段和访问器方法之间的可转换性,以便我可以迭代对象的属性?
我正在尝试在测试中使用私有 trait 字段。非常简单的例子:
//Works fine with class A, but not trait A
trait A {
private val foo = "Some string"
}
class Test extends A {
val field = classOf[A].getDeclaredField("foo")
field.setAccessible(true)
val str = field.get(this).asInstanceOf[String]
}
Run Code Online (Sandbox Code Playgroud)
我有:
java.lang.NoSuchFieldException: foo 在 java.lang.Class.getDeclaredField
现场示例在这里
如何让这个片段可执行?