方法引用属性setter
我怎样才能得到方法参考财产二传手,而不使用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
使用this::value.setter
来获取setter引用。
this::value
是一个属性引用。 它返回一个KMutableProperty
。 为了得到setter,你将需要KMutableProperty
的setter
字段。 所以你需要这个:
class C { var field: Int = 1 fun getFieldSetter(): (Int) -> Unit{ return this::field.setter } }