我想做一些事情(注意我知道这不起作用,但我的问题是它是否有可能使其有效):
object O {
def main(args: Array[String]) {
val clazzname = classOf[System].getName
val c = Class.forName(clazzname).asInstanceOf[{def currentTimeMillis: Long}]
c.currentTimeMillis
}
}
这可能吗? (不使用反射)
真正的用例是读取序列化的protobuf消息。
答案 0 :(得分:2)
简而言之:否
我希望有更好的答案,但正如您已经从邮件列表中看到的那样,这不是(目前)可能的。希望随着Scala中的本地反射支持的成熟,情况会有所改善。
答案 1 :(得分:0)
这对你有用吗?
val c = new {
def cm = System.currentTimeMillis
}
但是请注意,结构类型在内部使用反射。