Получить родительское перечисление тега типа значения


person Ian    schedule 10.11.2020    source источник
comment
Можете ли вы добавить несколько упрощенных примеров кода, чтобы проиллюстрировать вашу проблему и упростить ее воспроизведение и тестирование.   -  person michaJlS    schedule 11.11.2020
comment
@michaJlS В коде особо нечего добавить. У меня есть typeOf[SomeEnumeration.Value] (где SomeEnumeration напрямую не известно) и мне нужно typeOf[SomeEnumeration].   -  person Ian    schedule 11.11.2020


Ответы (1)


Предположим, у вас есть перечисление

object WeekDay extends Enumeration {
  type WeekDay = Value
  val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value
}

Затем попробуйте сопоставить с TypeRef

import scala.reflect.runtime.universe._

typeOf[WeekDay.Value] match {
  case TypeRef(pre, _, _) => pre // WeekDay.type
}
person Dmytro Mitin    schedule 10.11.2020