我有一堂课:
package org.apache.project
class Foo {
def bar: List[Bar] = ...
}
它是 scala 反射中的一种方法,允许我从类名“org.apache.project.Foo”和方法名“bar”中获取 typeOf[List[Bar]]?
非常感谢你的帮助!
我有一堂课:
package org.apache.project
class Foo {
def bar: List[Bar] = ...
}
它是 scala 反射中的一种方法,允许我从类名“org.apache.project.Foo”和方法名“bar”中获取 typeOf[List[Bar]]?
非常感谢你的帮助!
是的,如果你有Foo
as a Type
,你也可以找到方法的返回类型bar
as a Type
。
import scala.reflect.runtime.universe._
typeOf[Foo] // Get the type of Foo
.decls // Get Foo's declared members
.find(_.name.toString == "bar") // Find the member named "bar" as a symbol
.head // Unsafely access it for now, use Option and map under normal conditions
.asMethod // Coerce to a method symbol
.returnType // Access the return type