如何通过反思得到一个kotlin包
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
?)
现在kotlin中没有KPackage
,但是您可以取而代之地使用java Package
,例如:
val pkg:Package = this::class.java.`package`
如果你真的想得到一个KPackageImpl
实例,你可以从kotlin.jvm.internal.Reflection
得到它,但是它没有意义,因为Kotlin反射还不完整 ,例如:
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`
- 在java类中调用扩展函数作为任何RX操作符
- 在Kotlin中,为什么jackson在某些情况下未能解组未注释的对象,而不是在其他情况下
- 在Android Studio 3.0中,Kapt不适用于AutoValue
- Android Studio 2.2无法找到所有kotlin文件的引用
- 测试AnkoComponents和嘲笑AnkoContext
- 将Array <Byte>转换为ByteArray的规范方法是什么?
- 如果提供RxJava Observable,Kotlin密封类子类需要被转换为基类
- 在IntelliJ / Android Studio中使用Kotlin注释格式
- 如何在IntelliJ IDEA中忽略Kotlin的所有警告?