当不在JVM上运行时,如何获得对Kotlin KClass的引用?
定位Javascript和本地java.lang.Class.forName()
不可用时。 我如何在这些环境中获得KClass
?
正如它在Kotlin 文档中所说:
目前, JavaScript不支持完整的Kotlin反射API。 API唯一支持的部分是
::class
语法,它允许您引用实例的类或与给定类型相对应的类。 a::class
表达式的值是一个精简的KClass
实现,它只支持simpleName
和isInstance
成员。
这是一个例子:
val a = A() print(a::class.simpleName) // Obtains class for an instance; prints "A" print(A::class.simpleName) // Obtains class for a type; prints "B"
我没有测试它在Native或JavaScript版本(它在JVM上工作),但你可以做SomeClass::class
。 Kotlin文档