我正在使用反射的库,我想操纵给定KClass的所有属性/函数。
使用KClass::members
属性,我可以操纵所有可访问的成员(根据文档),即:公共,内部和受保护的字段,属性和函数。但是我看不到私人的。
使用Java反射,我可以使用Class.getDeclaredFields()
查看所有字段(包括私有字段),同样,我可以使用Class.getDeclaredMethods()
查看私有方法。
有没有办法使用kotlin反射API做到这一点?
答案 0 :(得分:3)
是的,您可以使用https://stackoverflow.com/a/13182163/12112986,declaredMembers
和declaredFunctions
,它们将包括私有成员,但不包括在超类型中声明的成员,就像Java反射API。