如何通过 MethodSymbol 获取方法的声明类型?
How to get the declaring Type of a Method by MethodSymbol?
我想找出在子类型中定义方法的实际类型。例如:
typeOf[List[_]].decl(TermName("map")).asMethod.?declaringType?
如在 Java 中一样,您可以调用 Method::getDeclaringClass
来获取声明该方法的 Class。我怎样才能在 Scala 中做到这一点?我检查了 info
和 typeSignature
,它们只包含方法签名但没有包含 class 信息。
您可以使用
typeOf[List[_]].decl(TermName("map")).asMethod.owner.asType //class List
我想找出在子类型中定义方法的实际类型。例如:
typeOf[List[_]].decl(TermName("map")).asMethod.?declaringType?
如在 Java 中一样,您可以调用 Method::getDeclaringClass
来获取声明该方法的 Class。我怎样才能在 Scala 中做到这一点?我检查了 info
和 typeSignature
,它们只包含方法签名但没有包含 class 信息。
您可以使用
typeOf[List[_]].decl(TermName("map")).asMethod.owner.asType //class List