¿Cómo obtengo las funciones declaradas de una class Kotlin (KClass en M12)?
Básicamente eso. Me pregunto cómo get las funciones / methods que se le dan a una KClass … parece que solo puedo iterar sobre las properties y properties de la extensión.
- Kotlin: doble operador de colon (reflexión) sobre
- Kotlin: isAssignableFrom y reflexiones del tipo de reflexión
- ¿Cómo cambiar un campo de miembro con la reflexión de Kotlin?
- Interoperabilidad de reflexión de Kotlin con Java
- Implementando una interfaz de kotlin en java
- Kotlin enlazó la incoinheritance de las references invocables
- instancia :: class.java vs. instance.javaClass
- ¿Cómo get una KClass de Array?
- java.lang.IllegalArgumentException: Callable espera 4 arguments, pero se proporcionaron 3
- Kotlin: ¿Cómo puedo usar la reflexión en los packages?
- ¿Cómo get una class de time de ejecución de una variable en Kotlin?
- ¿Cómo establecer el valor de propiedad delegada por reflexión en kotlin?
- ¿Cómo get los nombres de los parameters a través de la reflexión en kotlin?
Actualización : ahora puede get funciones de una class con extensiones declaradas en el package kotlin.reflect
: functions
, functions
declanetworkingFunctions
, functions
memberFunctions
, staticFunctions
, etc.
La reflexión de Kotlin es un trabajo en progreso en este momento. Planeamos enviar API para funciones de introspección en el próximo hito, presumiblemente a fines de este verano.
Mientras tanto, la única solución es usar la reflexión de Java para esta tarea.
La reflexión de Kotlin está más completa en los últimos hitos que incluyen las 1.0 betas.
Vea la documentation general para Kotlin Reflection y específicamente la de KClass .
Por ejemplo, dada una class, puede ver las funciones de miembro usando:
val functions = Someclass::class.declanetworkingMemberFunctions
o properties:
val properties = Someclass::class.declanetworkingMemberProperties
Y para pasar de una class Java a una class K:
val kclz = this.javaClass.kotlin
Ver también: Kotlin.reflect packages API docs