Articles of reflection

Как получить список всех классов в файле .kt

Можно ли захватить список классов внутри файла .kt? Похоже, что KDeclarationContainer – это класс, который я ищу, но я не уверен, как его использовать. EDIT: Я использую Kotlin Reflection.

Простой способ узнать, является ли класс анонимным / объектом и получить конкретное имя класса из экземпляра в Котлине

При реализации toString и т. Д. Я иногда печатаю / записываю имя конкретного класса. Есть ли простой / предоставленный способ получить это даже для анонимных классов? Похоже, в библиотеке отражения Котлина меньше методов, чем в java. В настоящее время я делаю это так: instance::class.qualifiedName?: instance::class::superclasses.get()[0].qualifiedName) который действительно уродлив, и я не знаю, гарантировано ли оно […]

Отражение Котлина – создание объектов из CSV

У меня есть класс данных с именем Member: data class Member(){ val first_name: String val last_name: String //30 more //a few simple methods } Я пытаюсь импортировать CSV-файл. Каждая строка файла содержит поля, которые я хочу использовать для создания экземпляров моих членов. fun ReadCsvFileKotlin() { val csvFile = "C:\\Data.csv" var memberList = mutableListOf<Member>() var reader […]

Отражение Котлина + дженерики

EDIT 1: Изменено название, мое плохое. У меня есть интерфейс. Событие : interface Event И некоторые классы, которые его реализуют, например CustomEvent : class CustomEvent : Event { … } То, что я пытаюсь сделать сейчас, – это дать метод, который имеет событие как параметр (так, любой класс, реализующий интерфейс Event ), например fun onCustomEvent(event: […]

Strange java.lang.ClassCastException при использовании вызова

Я использую библиотеку LibDGX для своей игры. И я столкнулся с общим исключением ClassCastException , но это происходит в странном случае. Я использую класс анимации из библиотеки LibGDX. Я получаю ошибку в этой строке, только если я использую операцию [] . val tex = animation.keyFrames[0] Если я изменю его, чтобы get() ошибка исчезла . tex […]