PDA

Просмотр полной версии : Спецы в AS3, подскажите, как мета-bindable может быть прикреплено к private полям?


mr.oizo
11.08.2010, 14:11
Вообщем разбираюсь я с мета-тегами, все ясно и просто, но.

Меты, как я не искал, можно обнаружить только с помощью describeType, однако это работает лишь для public полей и методов. Но [Bindable] и пр. меты флекса ведь прекрасно работают и с private полями и методами? Я поковырялся в исходниках флекса и компилятора, однако так и не смог разобраться, а как это у них так выходит?

Ибо в своем проекте я не хочу все поля и методы с моими метами оставлять с public или создавать еще один custom_namespace только для мет, хочу их оставить чистыми private или protected.

Может быть есть какие-либо настройки компиляции, позволяющие describeType или еще какому-нить методу (?) увидеть меты для закрытых переменных или еще что-то, что даст мне инфу о мете?

То есть к примеру, используя проект swiz, я хочу такой код:

[Dispatcher]
private var dispatcher:IEventDispatcher;

но в этом случае describeType(), используемый с swiz, тупо не видит dispatcher, о чем и говорит документация, однако во флексе

[Bindable]
private var text:String;

работает отлично, хотя в коде флекса также используется describeType() для нахождения Bindable.


Уважаемые Гуры, поможите пожалуйста! Извиняюсь за сумбурное описание проблемы.

etc
11.08.2010, 15:19
[Bindable] — спец. тег, компилятор, увидев оный, переделывает переменную в геттер-сеттер.

mr.oizo
11.08.2010, 15:30
etc, ясно, спасибо.

Т.е мета с private и protected невозможна, без изменения компилятора?
Только с public и custom_namespace? Верно я понимаю?

etc
11.08.2010, 15:37
Да, верно.