how to iterate over all values in a Kotlin classe
data class Property(
val id: Int,
val name: String,
)
fun main() {
val porperty = Property(1, "lol")
ClassMembers.getAll<Property> { propertyMember ->
val value = propertyMember.get(property)
value?.let { println(value,propertyMember.name) }
Unit
}
}
object ClassMembers {
inline fun <reified T : Any> getAll(callMember: (key: KProperty1<T, *>) -> Any) {
val reflection: KClass<T> = T::class
reflection.memberProperties.forEach { propertyMember ->
callMember(propertyMember)
}
}
}