说我有一个特点:
trait Foo {
def getFoo: Int
def setFoo(i: Int): Unit
}
我想包装此特征(和其他)的所有方法,而不是再次实际指定所有签名。
类似的东西:
class LoggingWrapper[T](wrappedInstance: T) extends T {
// what to do here if I wanted to log every call to methods in T
// without redefining the signatures?
}
日志记录只是一个简单的用例,其他人会添加超时,记忆/缓存等。
我如何在Scala 2.11中执行此操作?运行时反射?编译宏?