如何通过MethodSymbol获取方法的声明类型?

时间:2018-08-03 17:38:31

标签: scala reflection scala-reflect

我想找出在子类型中定义方法的实际类型。例如:

typeOf[List[_]].decl(TermName("map")).asMethod.?declaringType?

与Java中一样,您可以调用Method::getDeclaringClass来获取声明该方法的Class。如何在Scala中实现这一目标?我同时检查了infotypeSignature,它们仅包含方法签名,而没有包含类的信息。

1 个答案:

答案 0 :(得分:2)

您可以使用

typeOf[List[_]].decl(TermName("map")).asMethod.owner.asType //class List