Насколько я понимаю, привязка к var в ActionScript выполняется через события, которые автоматически запускаются при изменении var. У меня есть несколько вопросов по этому поводу:
- Что произойдет, если класс явно не расширяет EventDispatcher? Существует ли какая-то магия в компиляторе, которая по существу делает класс EventDispatcher?
- Как работает привязка к статическим варам? Является ли какая-то неявная статическая функция addEventListener(), добавленная в класс?
- Я заметил, что вы можете поставить [Bindable] на статические vars, но не статические функции, почему это?
Edit:
Спасибо Кристофу Герреману за его освещающий ответ. Тем не менее, у меня есть несколько последующих вопросов из моих вопросов выше. Интересно, может ли кто-нибудь заполнить пробелы для меня (я пытался указать эти вопросы 4, 5, 6, но они почему-то появляются по 1, 2, 3!)
-
Я добавил параметр -keep в компилятор и посмотрел на сгенерированный код привязки. Может ли кто-нибудь объяснить, как этот код применяется? Кажется, что компилятор создает класс BindableProperty для каждого класса, который содержит getter и setter. Как это складывается в класс, который я написал? Эта функция выглядит как частичные классы в С# - это эксклюзивная функция компилятора за кадром или я могу использовать ее самостоятельно?
-
Класс BindableProperty по-прежнему явно не реализует EventDispatcher, как генерируемый класс реализует диспетчеризацию событий?
-
В вопросе 3 я спросил о привязке к статическим функциям, но на самом деле я имел в виду статические функции getter и setter. Это, похоже, не разрешено.