问题标签 [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.

0 投票
3 回答
15345 浏览

c# - 如何根据值的类型和名称创建枚举对象?

我有一个枚举类型(System.Type)和一个包含要设置的枚举值的字符串。

例如给定:

我有 typeof(MyEnum) 和“B”。

如何创建设置为 MyEnum.B 的 MyEnum 对象?

0 投票
2 回答
4134 浏览

c# - 如何将带有枚举的 VB.net 接口转换为 C#

我有以下需要移植到 C# 的 VB.net 接口。C# 不允许在接口中进行枚举。如何在不更改使用此接口的代码的情况下移植它?

0 投票
2 回答
2334 浏览

c# - C# 枚举值的正确命名

您如何看待,拥有这样一个枚举是否是个好主意:

问题是关于值名称的语义,即百分比和平方英尺。我真的认为这不是一个好主意,但我找不到支持这一点的指南等。

编辑:这将用于确定实体的状态 - 即作为描述对象状态的只读属性。如果我们知道总空间(即对象本身知道它),我们可以选择在内部进行转换,所以我们要么只有百分比,要么只有平方英尺,或两者兼而有之。争论是,“两者”都不是一个好主意。

上面当然是一个例子,但真正的问题是一些数据提供者向我们发送了总数(sq.f.)和其他百分比,而我的目标是统一 UI。我可以随意做出一些近似值,因此将根据我们想要呈现信息的准确程度来调整确切的值。

问题只是关于值名称的语义,而不是内容 - 即,将百分比放入(潜在的)int enum 是否是个好主意。

0 投票
4 回答
59414 浏览

c# - 与 WCF 服务共享枚举

我有几个不同的应用程序,我想在其中共享一个 C# 枚举。我不太清楚如何在常规应用程序和 WCF 服务之间共享枚举声明。

这是情况。我有 2 个轻量级 C# destop 应用程序和一个 WCF Web 服务,它们都需要共享枚举值。

客户 1 有

客户 2 有

网络服务有

我最初的想法是创建一个名为 Common.dll 的库来封装枚举,然后在需要枚举的所有项目中引用该库。但是,WCF 使事情变得困难,因为您需要标记枚举以使其成为服务的一个组成部分。像这样:

所以....有没有办法在 WCF 服务和其他应用程序之间共享枚举?

0 投票
4 回答
1352 浏览

.net - .NET 带反射的动态对象

如何通过反射确定 aNullable(of Enum)是否确实是a ?Enum

我正在使用一种方法,该方法使用从数据库调用中检索到的类型动态填充类型的T对象IDataReader。从本质上讲,它循环遍历数据读取器的序数,T并填充与序数名称匹配的属性(也抛出了一些属性魔术来更改列名)。在所有其他情况下,它都很好用,但是当我检查属性时BaseTypeSystem.Enum我发现,System.ValueType 因此,我的枚举检查失败并且方法炸弹。

[编辑: Type.IsEnum不起作用我需要它。这里的主要问题是TBaseType 层次结构中没有任何内容表明它是Enum. 就好像让它成为一种Nullable类型就失去了我的Enum权利。]

有任何想法吗?

0 投票
3 回答
20846 浏览

java - 使用 JavaDoc 记录 Java 枚举的最佳方法是什么?

我刚刚开始在我自己的项目中使用 Java 的枚举(我必须在工作中使用 JDK 1.4),我对使用 JavaDoc 进行枚举的最佳实践感到困惑。

我发现这种方法有效,但生成的代码有点不完善:

有没有什么办法可以在自己的行上分解枚举声明而不用逗号链接它们,或者这是使用 JavaDoc 进行枚举的最佳方法?

0 投票
3 回答
973 浏览

c++ - 应该如何将 C 位标志枚举转换为 C++?

C++ 主要是 C 的超集,但并非总是如此。特别是,虽然 C 和 C++ 中的枚举值都隐式转换为 int,但反之则不然:只有在 C 中,int 才转换回枚举值。因此,通过枚举声明定义的位标志不能正常工作。因此,这在 C 中是可以的,但在 C++ 中则不行:

应该如何有效和正确地处理这个问题,理想情况下不损害使用 Foo 作为变量类型的调试器友好性质(它分解为手表中的组件位标志等)?

还要考虑可能有数百个这样的标志枚举,以及数千个使用点。理想情况下,某种有效的运算符重载可以解决问题,但它确实应该是有效的;我想到的应用程序是受计算限制的,并且以速度快着称。

澄清:我正在将一个大型(>300K)C 程序翻译成 C++,所以我正在寻找运行时和开发时的有效翻译。简单地在所有适当的位置插入石膏可能需要数周时间。

0 投票
34 回答
138814 浏览

c++ - 有没有一种简单的方法可以将 C++ 枚举转换为字符串?

假设我们有一些命名的枚举:

我搜索的是一个脚本(任何语言),它扫描我项目中的所有标题并生成一个标题,每个枚举都有一个函数。

和这样的实现:

问题在于类型定义的枚举和未命名的 C 风格枚举。有人知道吗?

编辑:解决方案不应该修改我的源代码,除了生成的函数。枚举在 API 中,因此使用迄今为止提出的解决方案不是一种选择。

0 投票
11 回答
98828 浏览

c# - 获取枚举的最大值

你如何获得枚举的最大值?

0 投票
3 回答
76123 浏览

database - 如何在 Oracle 中使用枚举?

如何仅使用 SQL 在 Oracle 中使用枚举?(无 PSQL)

在 MySQL 中,您可以执行以下操作:

在 Oracle 中执行此操作的类似方法是什么?