如何获取 Kotlin class(M12 中的 KClass)的声明函数?
How do I get the declared functions of a Kotlin class (KClass in M12)?
基本上就是这样。我想知道如何在给定 KClass 的情况下获得 functions/methods...看起来我只能遍历属性和扩展属性。
更新:您现在可以获得 class 的函数,并在包 kotlin.reflect
中声明扩展:functions
, declaredFunctions
, memberFunctions
, staticFunctions
, 等等
Kotlin 反射目前正在进行中。我们计划在下一个里程碑发布 API 内省功能,大概是在今年夏天结束时。
同时,唯一的解决方法是使用 Java 反射来完成此任务。
Kotlin 反射在后来的里程碑(包括 1.0 测试版)中功能更加全面。
查看 Kotlin Reflection and specifically that of KClass 的概述文档。
例如,给定一个 class 你可以看到成员函数使用:
val functions = Someclass::class.declaredMemberFunctions
或属性:
val properties = Someclass::class.declaredMemberProperties
然后从 Java Class 到 KClass:
val kclz = this.javaClass.kotlin
基本上就是这样。我想知道如何在给定 KClass 的情况下获得 functions/methods...看起来我只能遍历属性和扩展属性。
更新:您现在可以获得 class 的函数,并在包 kotlin.reflect
中声明扩展:functions
, declaredFunctions
, memberFunctions
, staticFunctions
, 等等
Kotlin 反射目前正在进行中。我们计划在下一个里程碑发布 API 内省功能,大概是在今年夏天结束时。
同时,唯一的解决方法是使用 Java 反射来完成此任务。
Kotlin 反射在后来的里程碑(包括 1.0 测试版)中功能更加全面。
查看 Kotlin Reflection and specifically that of KClass 的概述文档。
例如,给定一个 class 你可以看到成员函数使用:
val functions = Someclass::class.declaredMemberFunctions
或属性:
val properties = Someclass::class.declaredMemberProperties
然后从 Java Class 到 KClass:
val kclz = this.javaClass.kotlin