代码之家  ›  专栏  ›  技术社区  ›  SwiftMango

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

  •  1
  • SwiftMango  · 技术社区  · 8 年前

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

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

    在Java中,可以调用 Method::getDeclaringClass 获取声明该方法的类。在Scala中如何实现这一点?我都查过了 info typeSignature 它们只包含方法签名,但没有包含类信息。

    1 回复  |  直到 8 年前
        1
  •  2
  •   Dmytro Mitin    8 年前

    你可以用

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