VIVA_INDIA, или будте внимательны когда описываете события
January 23, 2008 – 8:47 amЕсть класс который диспатчит событие и есть желание получить удобство написания кода когда подписываемся на события этого класса.
Для этого делаем так:
Класс события:
package com.the33cows.somepackage
{
import flash.events.Event;
public class SomeEvent extends Event
{
public static const VIVA_INDIA : String = "vivaIndia";
.......
}
Класс:
package com.the33cows.somepackage
{
import flash.events.EventDispatcher;
[Event(name="vivaIndia", type="com.the33cows.somepackage.SomeEvent")]
public class SomeEventDispatcher extends EventDispatcher
{
...
}
}
теперь при наборе кода получаем такое:
что есть очень приятно).
Я всегда себе задавал вопрос почему, адоб использует именно такую конструкцию
[Event(name=”vivaIndia”, type=”com.the33cows.somepackage.SomeEvent”)]
по-моемому было бы логичнее использовать
[Event(name=”VIVA_INDIA”, type=”com.the33cows.somepackage.SomeEvent”)]
т.е. прямую ссылку на константу хранящую конкретное название события, а не само название события, но так не найдя на него ответа, решил, что так нужно и парсер “умный”, он сам на лету привязывает конкретную константу с именем события к этому тегу.
Оказалось парсер безумно туп!
У меня образовалось событие в названии которого были несколько прописных букв подряд
для наглядного примера:
public static const VIVA_INDIA : String = "VIVA_INDIA_OMG";
для него метатег выглядел так
[Event(name="VIVA_INDIA_OMG", type="com.the33cows.somepackage.SomeEvent")]
на что я в ответ получил:

Правда не очень привлекательная картина? )
Справедливо как для 2.0.1 так и для 3 го билдера
Будьте счастливы и кодируйте с миром ).


Sorry, comments for this entry are closed at this time.