Как я могу получить ссылку на Kotlin KClass по имени, когда не работает на JVM?

Когда таргетинг на Javascript и собственный java.lang.Class.forName() недоступен. Как я могу получить KClass в этих средах?

Как сказано в документации Котлина :

В настоящее время JavaScript не поддерживает полный API отражения Kotlin . Единственной поддерживаемой частью 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 docs

Intereting Posts
Критики Котлина и неправильный вывод Наблюдает личную окончательную ошибку Inject Java Int to Float, чтобы получить 1f для 1 Как я могу отобразить свое представление anko без вызова overriding onCreate? Требует аннотации продюсирования с «allOf» в Котлине Каков правильный способ использования расширений Anko Coroutines? Могу ли я опустить методы интерфейса, которые я не использую в Котлине? Android Apk выходит из строя после подписания встроенного – Proguard уже выключен Kotlin: Интерфейс, посредством которого разработчик должен быть классом данных? Метод копирования класса данных Kotlin не выполняет глубокое копирование всех членов Vaadin 8 NativeSelect изменить представление данных списка setOnLongClickListener в android с kotlin Ленивая инициализация свойства класса Kotlin не будет компилироваться Невозможно использовать локальный обработчик аннотаций в проекте Android kotlin Класс Kotlin не получает свое булево значение от firebase