Kotlin: проверьте, является ли KTypeProperty1 классом данных - PullRequest
0 голосов
/ 15 января 2020

Используя отражение, я могу перебирать свои атрибуты:

data class AnotherDataClass(
    val property: String,
    val dataClass: DataClass
)


AnotherDataClass::class.memberProperties.filter {
    return it::class.isData
}

Но it::class.isData всегда ложно, поскольку тип it равен jvm.internal.KProperty1Impl. Есть ли способ проверить, является ли этот класс классом данных?

1 Ответ

1 голос
/ 15 января 2020

Использование

AnotherDataClass::class.memberProperties.filter {
    (it.returnType.classifier as? KClass<*>)?.isData ?: false
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...