首页
学习
活动
专区
圈层
工具
发布

Enum遗传
EN

Stack Overflow用户
提问于 2013-02-06 10:25:56
回答 2查看 194关注 0票数 2

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

示例

代码语言:javascript
复制
Enum A
- one
- two
- three

Enum B:A
- four
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-06 13:20:18

不这是不可能的。基Enum不支持继承。

票数 1
EN

Stack Overflow用户

发布于 2013-02-13 17:06:43

您不能这样做,但是如果您手动创建两个基枚举,第二个枚举具有相同的标签和第一个值,您实际上可以在运行时“向下转换”它们,就像它们是以这种方式继承的(真正的代码):

代码语言:javascript
复制
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));    

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14726696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档