Использование поля класса через строку | Kotlin
Пытаюсь разобраться в нетипизированном програмировании и застрял на полях:
inline fun <reified T : Any> covertToClass(fileName: String){
val obj: JSONObject = JSONObject(this.readFile(fileName)) //Получаю json файл, созданный на основе класса
val classFields = getAllFields<T>() //получаю название полей класса
val _class: T = T::class.createInstance() //создаю экземпляр класса
for(field in classFields){
_class.field <-как? = ...
}
}
inline fun <reified T> getAllFields(): MutableList<String> {
val allFields = T::class.java.declaredFields
val fields: MutableList<String> = mutableListOf()
//Log.i("DataShell", "Class ${T::class.java.name} has ${allFields.size} fields!")
for (field in allFields) {
fields.add(field.name)
//Log.i("DataShell", "Class: ${T::class.java.name} -> field name: ${field.name}.")
}
return fields
}
Как мне изменить содержимое поля у созданного экземпляра класса, если есть только его название?