У меня есть класс данных Kotlin, подобный этому:
data class User(
var id: Int,
var name: String? = null,
var email: String? = null,
var age: Int? = null,
var latitude: Float? = null,
var longitude: Float? = null
)
Затем я создаю его экземпляр
var user = User(1)
Затем я пытаюсь это:
val field = "name"
var prop = User::class.memberProperties.find {it -> it.name == field}!!
prop.get(user)
Иэто работает, но если я пытаюсь установить значение следующим образом:
prop.setter.call(user, "Alex")
Я получаю ошибку:
Неразрешенная ссылка: setter
Ни то, ни другоеэто работает так:
prop.set(user, "Alex")
(Это было основано на решении, представленном здесь, но это не работает для меня: решение )