如何在Kotlin android的扩展函数中访问同名类成员
我是kotlin的android新手。我想访问扩展函数中同名的类成员。 例如:如何在Kotlin android的扩展函数中访问同名类成员,android,kotlin,extension-function,Android,Kotlin,Extension Function,我是kotlin的android新手。我想访问扩展函数中同名的类成员。 例如: var visibility = null //class level variable //EXTENSION FUNCTION fun ProgressBar.changeVisibleState(flag: Boolean) { if (flag) visibility = View.VISIBLE else
var visibility = null //class level variable
//EXTENSION FUNCTION
fun ProgressBar.changeVisibleState(flag: Boolean) {
if (flag)
visibility = View.VISIBLE
else
visibility = View.INVISIBLE
}
如何在
changeVisibleState
方法中访问可见性
。您可以使用此
操作符
class Hello {
var visibility: Int = 0 //class level variable
//EXTENSION FUNCTION
fun ProgressBar.changeVisibleState(flag: Boolean) {
if (flag)
this@Hello.visibility = View.VISIBLE
else
this@Hello.visibility = View.INVISIBLE
}
}
使用this@Hello
您可以访问Hello
的属性,而不是ProgressBar
class Bye {
var visibility: Int = 0 //class level variable
}
class Hello {
var visibility: Int = 0 //class level variable
fun Bye.changeVisibleState(flag: Boolean) {
//access Bye's prop
visibility = if (flag) 1 else 2
//access Hello's prop
this@Hello.visibility = 12
}
}