是否有可能创建一个A
继承枚举属性B
并另外提供扩展元素的可能性的枚举?
示例:
Enum A
- one
- two
- three
Enum B:A
- four
是否有可能创建一个A
继承枚举属性B
并另外提供扩展元素的可能性的枚举?
示例:
Enum A
- one
- two
- three
Enum B:A
- four
不,这是不可能的。基本枚举不支持继承。
您不能,但是如果您手动创建两个基本枚举,第二个具有与第一个相同的标签和值,您可以在运行时虚拟地“向下转换”它们,就像它们被继承一样,这样(真实代码):
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));
希望这可以帮助。