我真正喜欢 AS3 而不是 AS2 的一件事是它增加了多少编译时类型检查。然而,它似乎有点缺乏可用的类型检查枚举结构。在 AS3 中执行自定义枚举类型的好(最佳/公认)方法是什么?
HanClinto
问问题
26158 次
5 回答
17
跳跃后你的回答:-)
于 2008-12-01T00:16:43.280 回答
15
只是想分享我的方式
于 2008-12-02T22:29:35.227 回答
1
我知道,这有点过时了,并不能完全回答你的问题,但你可能想看看Haxe。您还可以使用它为您生成 AS3,此外还有许多其他使用它的原因。但这真的会跑题...
于 2009-09-29T11:23:09.613 回答
1
我最近发现as3commons 库有一个很好的基础帮助类Enum用于枚举实现。
于 2012-11-10T05:04:17.873 回答
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 ,但在这些情况下,问题同样适用于其他基于 const 的枚举仿真。
于 2013-01-04T10:40:32.577 回答