gpt4 book ai didi

kotlin - 如何通过反射获取 kotlin 包

转载 作者:行者123 更新时间:2023-12-05 00:15:10 25 4
gpt4 key购买 nike

Kotlin 反射库定义 KDeclarationContainer , 其中 Represents an entity which may contain declarations of any other entities, such as a class or a package.this::class返回 KClass , 扩展 KDeclarationContainer ,但我如何获得父级 KDeclarationContainer (KPackage?)

最佳答案

没有KPackage现在在 kotlin 中,但你可以得到一个 java Package相反,例如:

val pkg:Package = this::class.java.`package`

如果 你真的很想得到一个 KPackageImpl例如,您可以从 kotlin.jvm.internal.Reflection 获取它,但没有意义,因为 Kotlin 反射(reflect)的是 不完整 然而,例如:
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`

关于kotlin - 如何通过反射获取 kotlin 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45210567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com