如何在JVM上运行时,如何通过名称获取对Kotlin KClass的引用?

时间:2017-06-20 08:48:30

标签: reflection kotlin

定位Javascript时,原生java.lang.Class.forName()不可用。如何在这些环境中获得KClass

2 个答案:

答案 0 :(得分:1)

正如 Kotlin documentation中所述:

  

目前, JavaScript 不支持完整的 Kotlin 反映   API。 API唯一受支持的部分是::class语法   允许您引用实例的类或类   对应于给定的类型。 ::class表达式的值是   精简的KClass实现,仅支持   simpleNameisInstance成员。

以下是例子:

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"

答案 1 :(得分:0)

我没有在Native或JavaScript版本上测试它(它可以在JVM上运行),但你可以SomeClass::classKotlin docs