2017-05-26 83 views
2

我可以訪問Kotlin get()方法中的屬性值嗎?如何訪問屬性中的字段值get()方法

考慮以下幾點:

class MyTest { 

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

} 

神奇的變量it不存在。我應該如何訪問實際的財產價值?

回答

5

魔法變量it存在於lambda中。用於訪問屬性值的神奇變量被稱爲field。有關更多信息,請參閱the documentation

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

域值是在叫field變量:

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

如果你想在一個getter訪問字段的值或setter可以使用保留字field爲它。