在下面的示例中,t::x
返回对属性getter的引用。如何获得二传手的相同?
class Test(var x: String) {}
fun main(args: Array<String>) {
val t = Test("A")
val getter: () -> String = t::x
println(getter()) // prints A
val setter: (String) -> Unit = ????
}
最佳答案
使用t::x.setter
,它返回一个MutableProperty0.Setter<T>
,可以将其用作函数:
val setter = t::x.setter
setter("abc")