4

我正在开发一个使用反射的库,我想操作给定 KClass 的所有属性/函数。

使用该KClass::members属性,我可以操作所有可访问的成员(根据文档),即:公共、内部和受保护的字段、属性和函数。但我看不到私人的。

使用 Java 反射,我可以使用 . 查看所有字段(包括私有字段)Class.getDeclaredFields(),同样我可以使用 . 查看私有方法Class.getDeclaredMethods()

有没有办法使用 kotlin 反射 API 来做到这一点?

4

1 回答 1

3

是的,您可以使用declaredMembersdeclaredFunctionsdeclaredMemberProperties,它将包括私有成员,但不包括在超类型中声明的成员,就像使用 Java 反射 API 一样。

于 2019-09-25T13:34:05.950 回答