AS3上我真的很喜歡AS3的一件事是它增加了多少編譯時類型檢查。但是,它似乎有點缺乏,沒有可用的類型檢查枚舉結構。什麼是在AS3中進行自定義枚舉類型的一種好的(最好/可接受的)方法?在AS3/Flash/Flex中枚舉?
20
A
回答
17
16
後回答只是想分享my way
1
我知道,這是一個有點過時和不完全回答你的問題,但你可能想退房haXe。您也可以使用它爲您生成as3,另外還有許多其他原因可以使用它。但是,這真的是下主題...
1
我最近發現as3commons library有一個很好的基類助手類Enum enums實現。
1
爲了一個真正枚舉它需要兩個:
- 強制類型安全
- 防止惡意實例
很少有簡單的解決方案,兩者都做,基那些做的類過於複雜的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");
}
}
}
警告:我它設置以前見過少數情況下一個變量初始化讀取枚舉常量,但在這些情況下,這個問題同樣適用於其他基於const的枚舉仿真。
相關問題
- 1. 在枚舉中枚舉
- 2. 枚舉在Hibernate中,堅持爲枚舉
- 3. 在枚舉枚舉中調用.Distinct()
- 4. Java在枚舉中的枚舉
- 5. 在枚舉語句中枚舉mysql枚舉
- 6. 在SQL中列舉枚舉?
- 7. 枚舉在Java中
- 8. 在SQLite中枚舉
- 9. 在MongoDB中枚舉
- 10. 在vb.net中枚舉
- 11. 是枚舉Java中的枚舉
- 12. C++ - 程序中的多枚舉枚舉
- 13. Node.js native枚舉中的枚舉類型
- 14. 如何枚舉Objective-C中的枚舉?
- 15. 駱駝藍圖:在枚舉值枚舉
- 16. 如何在保持枚舉枚舉
- 17. 轉換枚舉來枚舉
- 18. 枚舉的枚舉[JAVA]
- 19. 帶枚舉的MySQL枚舉
- 20. Java類枚舉枚舉類
- 21. 重新枚舉枚舉
- 22. Java枚舉找到枚舉
- 23. 當枚舉值不在枚舉中時賦予枚舉的默認值
- 24. 枚舉在VB.NET
- 25. 在枚舉java
- 26. 在C#枚舉#
- 27. 在枚舉
- 28. 枚舉在C++
- 29. 枚舉在C
- 30. 枚舉在sevlet
很好的答案,謝謝! – HanClinto 2008-12-01 00:50:05
鏈接已損壞。 – Joe 2011-02-07 01:37:13
雖然我的編輯正在審查中,但我認爲這個鏈接與最初提供的鏈接類似:[Enumerations with classes](http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f2f.html) – gltovar 2011-02-07 21:19:28