Ответ 1
ваш ответ после прыжка: -)
Одна вещь, которая мне очень нравится в AS3 по сравнению с AS2, - это то, насколько она добавляет больше времени для компиляции. Однако, как представляется, несколько не хватает того, что нет доступной структуры перечисления, проверенной типом. Какой хороший (лучший/общедоступный) способ делать пользовательские перечисляемые типы в AS3?
ваш ответ после прыжка: -)
Просто хотел поделиться мой путь
Я знаю, это немного устарело и точно не отвечает на ваш вопрос, но вы можете проверить haXe. Вы также можете использовать его для генерации as3 для вас, плюс есть много других причин для его использования. Но это действительно выходит из темы...
Недавно я обнаружил, что as3commons library имеет хороший базовый вспомогательный класс Enum для выполнения перечислений.
Чтобы быть перечислением true, он должен быть как для:
Немногие из простых решений делают оба, и базовые классы, которые делают, являются чрезмерно сложными IMO.
Мой нынешний фаворит следующий стиль - безопасный и простой, и никого не следует путать:
public final class FruitEnum {
private static const CREATE:Object = {};
public static const APPLE:FruitEnum = new FruitEnum(CREATE);
public static const ORANGE:FruitEnum = new FruitEnum(CREATE);
public static const BANANA:FruitEnum = new FruitEnum(CREATE);
public function FruitEnum(permission:Object) {
if (permission !== CREATE){
throw new Error("Enum cannot be instantiated from outside");
}
}
}
CAVEAT: Я видел редкие случаи, когда переменная инициализация читает enum const до ее установки, но в тех случаях проблема применяется в равной степени к другим эмуляциям enum на основе const.