class Test(a: String, b: Array[String], c: Array[String]){
def this(b: Array[String], c: Array[String]) {
this("1", b, c)
}
def this() = {
this(null, null, null)
}
}
У меня есть класс Test, как и выше, и я хотел бы использовать отражение scala для вызова одного из них
Я пытаюсь использовать следующий код
import scala.reflect.runtime.{universe => ru}
val clsTest = ru.typeOf[Test].typeSymbol.asClass
val cm = m.reflectClass(clsTest)
val ctor = ru.typeOf[Test].decl(ru.termNames.CONSTRUCTOR).asTerm.alternatives.map(_.asMethod)
но я не знаю, как выбрать метод на основе сигнатуры метода.
Есть ли какой-либо подход к выбору метода, основанного на сигнатуре типа, как Java отражает код? Спасибо!
Я прочитал документ Scala о отражении, но это не решает мою проблему. у него есть только один метод конструктора. Scala Reflect Doc