1
寻找能够检索大小写类的参数名称和类型。我已经能够获取姓名,但没有名字和类型。这里是我做的一个尝试,它基于Stackoverflow上的其他片段。注释掉的部分是我想要做的,但不起作用。获取大小写类参数和类型
def getMethods[T: TypeTag] = typeOf[T].members.collect {
//case m: MethodSymbol if m.isCaseAccessor => (m, classOf[T].getDeclaredField(m).getType())
case m: MethodSymbol if m.isCaseAccessor => m
}.toList
case class Person(name: String, age: Int)
getMethods[Person]
删除注释和评论线下,我得到
<console>:13: error: class type required but T found
case m: MethodSymbol if m.isCaseAccessor => (m, classOf[T].getDeclaredField(m).getType())
我正在寻找类似List(("name", String), ("age", Int))
或任何类似。我想斯卡拉2.10但斯卡拉2.11也可以。
非常有用!我应该阅读什么类型的东西来了解更多关于刚刚发生的事情? –