【发布时间】:2021-02-22 20:39:28
【问题描述】:
我有一个 Type 实例,它引用特定 Enumeration 的 Value。
有没有办法获得父枚举的Type 或Symbol?换句话说,如果我有typeOf[SomeEnumeration.Value],我如何获得typeOf[SomeEnumeration]?
我知道此信息存在于运行时,因为我可以在调试控制台中使用valueType.pre.sym 看到它,但我无法提供用于在代码中访问它的公共 API。
我的第一个想法是valueType.typeSymbol.owner,但这只是为基类Enumeration 提供Symbol,而不是我想要的特定枚举实例。
【问题讨论】:
-
您能否添加一些简化的代码示例来说明您的问题并使其更容易重现和测试。
-
@michaJlS 在代码方面没有什么可添加的。我有
typeOf[SomeEnumeration.Value](其中SomeEnumeration不是直接知道的),我需要typeOf[SomeEnumeration]。
标签: scala reflection types runtime scala-reflect