如何访问属性get()方法中的字段值

时间:2017-05-26 17:37:19

标签: kotlin

我可以在Kotlin get()方法中访问属性值吗?

请考虑以下事项:

class MyTest {

    var test: String = "string"
        get() {
            logIt("Property accessed")
            return it
        }

}

魔术变量it不存在。我该如何获取实际房产价值?

3 个答案:

答案 0 :(得分:5)

lambda中存在神奇的变量it。用于访问属性值的魔法变量称为field。有关详细信息,请参阅the documentation

var test: String = "string"
    get() {  
        logIt("Property accessed")
        return field
    }

答案 1 :(得分:4)

字段值位于名为field的变量中:

    var test: String = "string"
    get() {
        logIt("Property accessed")
        return field
    }

答案 2 :(得分:0)

class MyTest {
    var test: String = "string"
        get() {
            logIt("Property accessed")
            return field
        }
}

如果您想在getter或setter中访问字段的值,可以使用保留字field