Как получить доступ к членам класса с таким же именем в функции расширения в Kotlin android

Я новичок в kotlin для Android. и я хочу получить доступ к члену класса, который имеет такое же имя в функции расширения. например:

var visibility = null //class level variable //EXTENSION FUNCTION fun ProgressBar.changeVisibleState(flag: Boolean) { if (flag) visibility = View.VISIBLE else visibility = View.INVISIBLE } 

как я могу получить доступ к visibility в методе changeVisibleState .

С помощью метки « [email protected] » вы можете получить доступ к свойству 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 [email protected] = 12 } } 

Вы можете использовать this оператор.

  class Hello { var visibility: Int = 0 //class level variable //EXTENSION FUNCTION fun ProgressBar.changeVisibleState(flag: Boolean) { if (flag) [email protected] = View.VISIBLE else [email protected] = View.INVISIBLE } } 
  • Доступ к функциям расширения Kotlin из Java
  • Как проверить лямбда-пустоту в котлине
  • Kotlin - Расходы на более высокие порядки?
  • Объяснить эту структуру функций Котлина
  • Kotlin: Общая функция как возвращаемый тип?
  • Экземпляр Kotlin KClass внутри функции расширения
  • перегрузка + и + = операторов для «классов номеров»
  • пусть, также, применять, takeIf, takeUnless в Котлине
  • Глобальная функция расширения в котлине
  • Настройка привязок Guice в Котлине
  • убедитесь, что метод kotlin является статическим, верхним или аннотированным @JvmStatic
  • Interesting Posts

    Использование метода получения Anko Ошибка несоответствия AnkoContext <ViewGroup> Найдено AnkoContext <Context>

    Почему моя работа не начинается?

    Тесты Kotlin не работают из командной строки с ClassNotFoundException, но работают с IntelliJ

    Kotlin JS Переопределение «внешней» функции с необязательными параметрами

    Невозможно добавить фрагменты с помощью функции расширения Kotlin

    Как создать радиогруппу 2×2?

    Как можно использовать UUID в качестве первичного ключа в двух таблицах с помощью Hibernate?

    Как работают функции высшего порядка Котлина?

    Ошибка сегментации Android Emulator 6824

    Недвижимость Котлина с геттером. Могу ли я указать начальное значение?

    Сделайте ширину диалогового окна на весь экран

    Можно ли ограничить тип списка реализацией интерфейса в Котлин?

    Kotlin (Maven) – исполняемый JAR без исходных файлов

    Как мы можем реализовать базовый адаптер с kotlin в android?

    Класс данных Kotlin для JSON с пружиной / jackson

    Давайте будем гением компьютера.