【发布时间】:2020-06-20 01:15:35
【问题描述】:
我有带有Size 注释的Sample 类
case class Sample(
attr: SomeTypeA
@Size(value = 50)
name: SomeTypeB)
这个Size注解是一个实现AnnotationInterface的类
trait AnnotationInterface[T] {
def getValue: T
}
class Size(value: Int) extends StaticAnnotation with AnnotationInterface[Int] {
override def getValue: Int = value
}
我有Extractor,它负责使用反射提取类成员
class Extractor[A](implicit
tt: TypeTag[A],
ct: ClassTag[A]
) { ...extract class members using reflection... }
然后我会像这样实例化提取器:
val extractor: Extractor[Sample] =
new Extractor
问题:如何在Extractor类中调用方法getValue: T?
【问题讨论】:
-
对我来说看起来像 X/Y
-
@cchantep 听起来像是一个合理的运行时反思问题。
标签: scala reflection scala-reflect