Scala:使用反射将行为添加到类中变量的setter方法中

时间:2019-06-04 13:10:44

标签: scala reflection traits setter

我正在尝试将行为添加到类中的变量的设置器中。为了简单起见,假设我想在设置变量时将某些内容打印到控制台。而且,我想使用类中混合的特征中的反射来实现此目的。

考虑以下代码:

class Foo(var bar: String) extends Logger {}

trait Logger { self =>
  // create mirrors to reflect on the delegate
  private val runtimeMr  = runtimeMirror(self.getClass.getClassLoader)
  private val instanceMr = runtimeMr.reflect(self)

}

我现在如何:

1)从instanceMr获取设置方法,更重要的是

2)将行为添加到设置器的执行中(在我的情况下为设置前的打印栏)

0 个答案:

没有答案