scala 反射实例化 class 与多个 paramLists

scala reflection instantiate class with multiple paramLists

假设我们有 class 个

class A(val x: Any)(val y: Any)

然后我们想反射性地实例化它,使其具有 x 和 y 值:

def instantiate[T](aClass: Class[T], args: List[Any]): T = {
    val mirror = ru.runtimeMirror(aClass.getClassLoader)
    val classMirror = mirror.reflectClass(mirror.classSymbol(aClass))
    val constructorMirror = classMirror.reflectConstructor(getPrimaryConstructor(aClass))
    constructorMirror.apply(args: _*).asInstanceOf[T]
}

此方法适用于具有一个 paramList 的 classes,以及如何在主构造函数中使用 ()() 实例化 class?我想我的实例化方法会有签名:

instantiate[T](aClass: Class[T], args: List[List[Any]]): T = ???

谢谢

已解决!这很简单。想象一下,只有一个参数列表,参数总和 class A(x, y) 而不是 A(x)(y)