问题标签 [enums]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 使用属性来减少枚举到枚举的映射和枚举/常量到动作的切换语句
我想每个人都看过这样的代码:
我们可以做类似的事情,而不是这种坏事:
现在我们可以使用反射来遍历 ServerEnum 并从枚举声明本身获取转换映射。
我在这里遇到的问题是在 Enum2Enum 属性的声明中。
这有效,但用 Enum e 替换对象 o 无效。我不想能够将对象传递给构造函数,只有其他枚举。
这无法编译。
编译错误是否有原因?除了以下内容之外,我还能如何传递映射所需的信息:
这似乎太冗长,但如果这是唯一的方法,那么我想我会使用它。
c# - 如何比较 C# 中的标志?
我在下面有一个标志枚举。
我不能让 if 语句评估为真。
我怎样才能做到这一点?
hibernate - 在 Hibernate 的 Criteria API 中查询值类型的集合
在我的数据库中,我有一个实体表(我们称之为实体)。每个实体可以有多个实体类型,实体类型的集合是静态的。因此,存在一个连接表,其中包含实体 id 和实体类型名称的行。在我的代码中,EntityType 是一个枚举,Entity 是一个 Hibernate 映射的类。
在实体代码中,映射如下所示:
哦,我有没有提到我正在使用注释?
现在,我想做的是为特定实体类型的所有实体对象创建一个 HQL 查询或搜索。
Hibernate 论坛中的这个页面说这是不可能的,但是这个页面是 18 个月大的。谁能告诉我此功能是否已在 Hibernate 的最新版本之一中实现,或计划在即将发布的版本中实现?
.net - 组合枚举
有没有办法在 VB.net 中组合枚举?
c# - 枚举类型的 UserControl 属性在设计器中显示为 bool 或根本不显示
我有一个具有多个公共属性的用户控件。这些属性会自动显示在 VS2005 设计器的“Misc”类别下的属性窗口中。除了两个作为枚举的属性没有正确显示。
第一个使用以下枚举:
这根本不会出现在设计器中。
第二个使用这个枚举:
这个出现了,但设计师似乎认为它是一个布尔值,只显示 True 和 False。当您使用控件构建项目时,它会说它无法将类型 bool 转换为 AutoSizeMode。
此外,这些枚举被声明为全局命名空间,因此它们在任何地方都可以访问。
有任何想法吗?
c++ - 在 C++ 中前向声明枚举
我正在尝试执行以下操作:
编译器拒绝。我快速浏览了谷歌,共识似乎是“你做不到”,但我不明白为什么。谁能解释一下?
澄清 2:我这样做是因为我在一个采用所述枚举的类中有私有方法,并且我不希望暴露枚举的值 - 所以,例如,我不希望任何人知道 E 被定义为
因为我不想让我的用户知道项目 X。
所以,我想转发声明枚举,这样我就可以将私有方法放在头文件中,在 cpp 内部声明枚举,并将构建的库文件和头分发给人们。
至于编译器——它是 GCC。
java - Spring 2.5 中的枚举和依赖注入图
假设我们有以下 Java 代码:
这段代码片段只不过是稍微改进的侦听器模式,其中每个侦听器都在告诉它感兴趣的事件类型,并且提供的方法维护这些关系的并发映射。
最初,我希望通过我自己的注释框架调用此方法,但遇到了各种注释限制的砖墙(例如,您不能将java.lang.Enum作为注释参数,还有一组各种类加载器问题)因此决定使用Spring。
谁能告诉我如何 Spring_ify_ 这个?我想要实现的是:
1. 将维护者类定义为 Spring bean。
2. 使各种监听器都可以使用addListener方法通过XML注册到Maintainer 。Spring doc 和 Google 在示例中都非常慷慨。
有没有办法轻松实现这一目标?
ruby - 如何在 Ruby 中实现枚举?
在 Ruby 中实现枚举习惯用法的最佳方法是什么?我正在寻找可以(几乎)使用的东西,例如 Java/C# 枚举。
c++ - C ++中的64位枚举?
有没有办法在 C++ 中使用 64 位枚举?在重构一些代码时,我遇到了一堆#defines,它们作为枚举会更好,但大于 32 位会导致编译器出错。
出于某种原因,我认为以下方法可能有效: