4

我需要将类似 C 的枚举移植到 Haxe:

enum Items
{
item1,
item2=0x00010000,
item3=0x00010001,
item4,
};

但是 Haxe 似乎不允许使用默认值。我怎样才能做到这一点?

我的真实枚举有数百个条目,对于那些具有默认值的条目,我必须保留这些值。

4

2 回答 2

2

您通常会为此使用枚举摘要

@:enum abstract Items(Int) {
    var Item1 = 0x00000000;
    var Item2 = 0x00010000;
    var Item3 = 0x00010001;
    var Item4 = 0x00010010;
}

使用 Haxe 4,您可以编写enum而不是@:enum也可以省略 C 样式枚举中的值:

enum abstract Items(Int) {
    var Item1;
    var Item2 = 0x00010000;
    var Item3 = 0x00010001;
    var Item4;
}
于 2017-12-15T20:50:13.190 回答
1

看看Haxe Enum 手册,没有默认值。但是,也许你会更好地描述这个问题?可能它应该由对象而不是枚举来解决?

于 2011-09-23T07:25:32.213 回答