import kotlin.reflect.full.memberProperties
data class Person(val name: String, val age: Int)
fun main() {
val person = Person("John", 25)
val kClass = person::class
val properties = kClass.memberProperties
for (property in properties) {
println("${property.name} = ${property.get(person)}")
}
val ageProperty = kClass.memberProperties.first { it.name == "age" }
ageProperty.set(person, 26)
println("Modified age = ${ageProperty.get(person)}")
}