斯卡拉反射。如何从父母那里获得子字段值?

时间:2015-08-17 08:51:19

标签: scala

我有一个父类:

     abstract case class Model[T] (id: Option[String]) {
      protected val FIELDS : List[String]

和它的子女数量。 我试图使用这样的反射来获取子类的值:

        val m = ru.runtimeMirror(this.getClass.getClassLoader)
        for (field <- this.FIELDS) {
          val term = ru.typeOf[Model[T]].decl(ru.TermName(field)).asTerm
          val im = m.reflect(this)
          val fieldMirror = im.reflectField(term)
          Logger.debug(fieldMirror.get.toString)
        }

我有编译错误

  

没有TypeTag可用于models.Model [T]

如果放入Model [T],我把实际的儿童班的名字一切正常。但是我需要这个代码是通用的。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

班级本身必须持有 string buy = "16.11"; // We usually use Decimal for money Decimal _buy = Decimal.Parse(buy) * 9;

TypeTag