Я написал функцию расширения для типа Any
, которая будет извлекать значение свойства объекта по его имени. Я хочу иметь возможность использовать его повсюду в моем проекте. Вот моя функция расширения:
package com.example.core.utils.validation
import java.util.NoSuchElementException
import kotlin.reflect.full.memberProperties
fun Any.getFieldValue(fieldName: String): Any? {
try {
return this.javaClass.kotlin.memberProperties.first { it.name == fieldName }.get(this)
} catch (e: NoSuchElementException) {
throw NoSuchFieldException(fieldName)
}
}
Теперь я хочу использовать это так
package com.example.core
import com.example.core.utils.validation.*
class App {
val obj = object {
val field = "value"
}
val fieldValue = obj.getFieldValue("field")
}
Но есть неразрешенная ошибка ссылки
Как сделать глобальную функцию расширения и импортировать ее куда угодно?