基本上就是这样。我想知道如何获得给定KClass的函数/方法......看起来我只能迭代属性和扩展属性。
答案 0 :(得分:5)
更新:您现在可以获取包含kotlin.reflect
包中声明的扩展名的类的函数:functions
,declaredFunctions
,{{1} },memberFunctions
等
Kotlin反思是目前正在进行的工作。我们计划在下一个里程碑中发布用于内省功能的API,大概是在今年夏天结束时。
与此同时,唯一的解决方法是使用Java反射来完成此任务。
答案 1 :(得分:1)
Kotlin反思在后来的里程碑中更为全面,包括1.0测试版。
查看Kotlin Reflection的概述文档,特别是KClass的概述文档。
例如,给定一个类,您可以使用以下命令查看成员函数:
val functions = Someclass::class.declaredMemberFunctions
或属性:
val properties = Someclass::class.declaredMemberProperties
从Java类转到KClass:
val kclz = this.javaClass.kotlin