枚举继承

时间:2013-02-06 10:25:56

标签: axapta dynamics-ax-2009 x++

是否有可能创建一个继承枚举A属性的枚举B,并提供扩展元素的可能性?

示例

Enum A
- one
- two
- three

Enum B:A
- four

2 个答案:

答案 0 :(得分:1)

不,这是不可能的。 基本枚举不支持继承。

答案 1 :(得分:1)

你不能,但如果你手动创建两个基本枚举,第二个具有相同的标签和第一个的值,你可以在运行时虚拟“向下”,就像它们是继承的,这样(真正的代码) ):

NoYes          e1; // 0 No, 1 Yes
NoYesError     e2; // 0 No, 1 Yes, 2 Error

e1 = NoYes::No;
e2 = e1+0; // Add zero to avoid compile error

info(strFmt("%1 %2", e1, e2));

e2 = NoYesError::Error;
e1 = e2+0; // Don't do that

info(strFmt("%1 %2", e1, e2));    

希望这有帮助。