Есть ли способ идентифицировать класс данных Kotlin из обычного класса Kotlin?

Есть ли способ идентифицировать класс данных Kotlin из обычного класса Kotlin? Может быть, использовать отражение?

    Начиная с 1.1 существует свойство isData в классе

    MyDataClass::class.isData 

    Вы не можете читать аннотацию data путем отражения, потому что у нее есть удержание по умолчанию ( CLASS ).

    Вы можете попробовать использовать некоторые эвристики, например, проверить, что он содержит следующие методы:

    • public final copy
    • public final component{N}
    • public static copy$default

    Но обратите внимание, что некоторые из них являются деталями реализации и могут быть изменены в будущем.

    Intereting Posts
    Как я могу подключить Продюсера к Актеру? Kotlin mutableMap foreach Почему этот тип требует явного приведения? Почему нажатие на элементы RecyclerView возвращает неверный идентификатор элемента? Boolean – Int конвертация в Котлин Не удалось запустить файл jar. (Ошибка: не удалось найти или загрузить основной класс co.pissarra.Mainkt) Большое время компиляции кода Kotlin в IntelliJ Android Studio 3.0 – Не удается найти метод «com.android.build.gradle.internal.variant.BaseVariantData.getOutputs () Ljava / util / List ' ActivityTestRule.getActivity возвращает значение null в методе Before Kapt generatestubs – невозможно инициализировать объект с помощью внутреннего конструктора из unit-test Android, Gradle, Realm, Kotlin: Ошибка: ошибка: не удалось найти файл AndroidManifest.xml Как передать vararg в функцию или конструктор varag в Kotlin? Является ли `foo as? Foo` полный эквивалент `foo as Foo?` В kotlin? Преобразование Double в ByteArray или Array <Byte> Kotlin Kotlin и Java в одном проекте с использованием Eclipse IDE