0
У меня есть родительский класс: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]
Если insted Model [T] i поместил имя фактического дочернего класса, все будет работать. Но мне нужно, чтобы этот код был общим. Как я могу это сделать?
Похоже, правильный ответ, но теперь у меня есть исключение: не является термином во время выполнения. –
user2975535