【发布时间】:2020-08-10 17:51:09
【问题描述】:
我想返回一个具有不同值的类的副本,该值分配给 val 属性。
data class Person(val name: String, val age: Int)
fun main() {
val person = Person("Morné", 25)
val property = person::class.declaredMemberProperties.first { it.name == "age" }
person.copyWithValue(property.name, 22)
}
如果age 是var,那么我可以这样做:
fun main() {
val person = Person("Morné", 25)
val property = person::class.declaredMemberProperties.first { it.name == "age" }
if (property is KMutableProperty<*>)
property.setter.call(person, 22)
}
【问题讨论】:
标签: reflection kotlin kotlin-reflect