Кто нить, объясните пожалуйста, как работает AddListener в данном случае.

Спавню панель, дочерний объект - кнопка, при нажатии на кнопку вызывается ItemClicked с разным индексом. Как он вызывается из вне (если из вне), если у него модификатор private?

Код рабочий, но, не оч понятно почему

4 ответов

15 просмотров

не в тему, но избавляйся от гет чайлдов с индексами, явно не бест практис

Snappy- Автор вопроса
Bukowski
не в тему, но избавляйся от гет чайлдов с индексам...

Это да, но, пока сойдёт временным решением

private указывает на доступность метода из самого класса, да, извне к нему нельзя достучаться. но у тебя вызывается не напрямую метод ItemClicked, а через onClick, на который повешен и метод ItemClicked и itemIndex++. Таким образом у тебя событие onClick становится посредником между внешней средой и членами класса. И обрати внимание, у тебя по клику не вызывается буквально метод ItemClicked - у тебя вызывается делегат, внутри которого уже две команды. ItemClicked и itemIndex++. Кароч private тут не мешает, так как ты не обращаешься к методу напрямую извне

Привет, не совсем понятен вопрос. AddListener просто добавляет делегат, который выполнится по клику. Внутри делегата ты вызываешь private метод. Но т.к. ты делаешь подписку на клик в данном классе то, модификатор private не блокирует ничего. Это сравнимо с тем, если бы ты внутри public метода, вызывал private метод

Похожие вопросы

Обсуждают сегодня

Кто хочет поиграться в легкий взлом специально уязвимого приложения? :) Ваше задани - вы студент группы 416 - оценку в 100 баллов и найти 10 флагов (текстовых) формата Step0...
Andrii Kurdiumov
4
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
код Event::listen('cms.page.display', function (&$content, $slug, $page, $html) { if (is_object($content)) { dump($content); } else { dump($s...
Point 111
3
<div class="report-widget"> <h3 style="margin-bottom:10px;"> <?= e(__($this->property('title'))) ?> </h3> <button type="submit" data-request-flash ...
Vladimir 
2
Точно проблема в твиге?
Vladimir 
5
Ребят, а почему вызов add-tag может возвращать не нулевой код даже если операция прошла успешно? Дело в том, что образ корректно помечается, но ветка заходит в "then"... gclou...
Philipp Bondarev
2
<div class="report-widget"> <h3 style="margin-bottom:10px;"> <?= e(__($this->property('title'))) ?> </h3> <button type="submit" data-control="popup...
Point 111
1
Ребята привет. Telegraf 3.38 актуален ещё или лучше обновиться?
𝙊𝑙ẽ𝘨 // Rabbit Hole
2
Всем привет. Не понимаю, в чём тут шутка юмора. Убирается только разрешение на send_messages. А send_media_messages остаётся. Как сделать, чтобы оба убирались? await b...
Alexander
2
@LeMaX10 а ты же делаешь в своем боте капчу на вход в чат? или так же на первое сообщение?
Sergey
4
Карта сайта