Ссылка на функцию разрешается как тип kotlin.jvm.functions.Function1
.
Это означает, что вы можете использовать getDeclaredMethod()
, чтобы получить ссылку на метод, вызвав:
getDeclaredMethod("setNumericListener", EditText::class.java, Function1::class.java)
Вот полный фрагмент:
fun main(vararg args: String) {
val method = Test::class.java.getDeclaredMethod("setNumericListener",
EditText::class.java, Function1::class.java)
println(method)
}
// Declarations
class Test {
private fun setNumericListener(editText: EditText,
onValueChanged: (d: Double?) -> Unit) {}
}
class EditText {}
Какие отпечатки:
private final void Test.setNumericListener(EditText,kotlin.jvm.functions.Function1)