Cómo get un package de kotlin por reflexión
La biblioteca de reflexión Kotlin define KDeclarationContainer
, que Represents an entity which may contain declarations of any other entities, such as a class or a package.
this::class
devuelve KClass
, que extiende KDeclarationContainer
, pero ¿cómo obtengo el KDeclarationContainer
primario (un KPackage
?)
- Kotlin comtesting si la function requiere parámetro de instancia
- ¿Cómo puedo crear una instancia de un object usando valores de parameters de constructor pnetworkingeterminados en Kotlin?
- ¿Cuál es el propósito de que la reference de class enlazada devuelva un tipo covariante?
- ¿Lee el valor de la anotación de la function de Kotlin usando la reflexión?
- ¿Cómo puedo convertir una KFunction sin param de instancia en una KFunction con ella?
- La compilation de Android falla con kotlin-reflect y proguard
- Kotlin reflect proguard SmallSortedMapa
- Reflexión de Kotlin: parámetro de tipo desconocido
- Función de llamada reflexiva y uso de parameters pnetworkingeterminados
- Verificar si la function es extensión
- Clase de datos KotlinReflectionInternalError
- Combinar / fusionar classs de datos en Kotlin
- Referencia de método al organizador de properties
No hay KPackage
en kotlin ahora, pero puedes get un Package
java, por ejemplo:
val pkg:Package = this::class.java.`package`
Si realmente desea get una instancia de KPackageImpl
, puede getla de kotlin.jvm.internal.Reflection
, pero no tiene sentido, porque el reflection de Kotlin aún está incompleto , por ejemplo:
val pkg = Reflection.getOrCreateKotlinPackage(this::class.java, "") // ^--- there is no methods to get package information like as java.lang.Package, // since it is a `KDeclarationContainer` rather than a `KPackage`
- Deshabilitar la generación META-INF / * en el proyecto gradle android library kotlin
- Cómo leer y escribir files txt en android en kotlin