Ссылка на метод для установки свойства
Как я могу получить ссылку на метод для установщика свойства без использования kotlin-рефлекса?
В принципе, если я напишу свой код в Java, это очень просто
fun setValue(i: Int) = Unit
val a: (Int) -> Unit = this::setValue
Но для var value: Int
я собираюсь
var value = 1
val a: KMutableProperty0<Int> = this::value
3 ответа
this::value
это ссылка на свойство. Возвращает KMutableProperty
, Чтобы получить сеттер, вам понадобится setter
поле KMutableProperty
, Так что вам нужно это:
class C {
var field: Int = 1
fun getFieldSetter(): (Int) -> Unit{
return this::field.setter
}
}
Использование this::value.setter
для того, чтобы получить ссылку на установщик.