enums相关内容
Python 3.4 有一个新的 enum 模块和 Enum 数据类型.如果您还无法切换到 3.4,Enum 已被反向移植. 由于 Enum 成员支持文档字符串,就像几乎所有 python 对象一样,我想设置它们.有没有简单的方法来做到这一点? 解决方案 是的,它是迄今为止我最喜欢的食谱.作为奖励,您也不必指定整数值.举个例子: class AddressSegment(AutoE
..
这就是我想要完成的事情,我有一个包含一些值的枚举的类,我想对其进行子类化并向枚举添加更多值.这是一个不好的例子,但是: 公共类数字{公共枚举数字{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}}公共类 HexDigits 扩展数字{公共枚举数字{A、B、C、D、E、F}} 以便 HexDigits.Digit 包含所有十六进制数字.这可能吗? 解决方案 不,这不可能.您能做
..
以下代码不会产生异常,而是将值 4 传递给 tst.谁能解释这背后的原因? 公共枚举测试{一 = 1,b = 2,c = 3}测试 tst = (测试)(4); 解决方案 在 C# 中,与 Java 不同,不检查枚举.您可以拥有任何基础类型的值.这就是为什么检查您的输入非常重要. if(!Enum.IsDefined(typeof(MyEnum), value))抛出新的 Argumen
..
我需要定义一个可以在使用某些 Objective-c 类型的类中调用的协议 但是这样做是行不通的: enum NewsCellActionType: Int {案例投票 = 0案例评论案例时间}@objc 协议 NewsCellDelegate {func newsCellDidSelectButton(cell: NewsCell, actionType: NewsCellActionT
..
枚举名称是否存在于 Java 中? 即是否保证 enum1.name() == enum2.name() 在同名的情况下?将 enum.name() 与保证被实习的字符串进行比较是否安全. 解决方案 虽然没有明确保证这一点,但最终结果必然是对于 enum 常量的比较总是成功的同名: enum A {enum1};枚举 B {enum1};System.out.println(A.e
..
有没有办法在 C++ 中找到枚举的最大值和最小值? 解决方案 不,没有办法在 C++ 中找到任何枚举的最大值和最小值.当需要此类信息时,定义 Last 和 First 值通常是一种很好的做法.例如, enum MyPretendEnum{苹果,橙子,梨,香蕉,第一个 = 苹果,最后=香蕉}; 不需要为 First 和 Last 之间的每个值指定命名值.
..
我有一个由三部分组成的库.首先是原生 C++,它提供了实际的功能.第二个是 C++ 库的 C++/CLI 包装器/适配器,以简化 C# 到 C++ 的转换.最后我有一个 C# 库,它通过 C++/CLI 适配器调用 C++ 库. 现在我有两组并行的枚举定义,一组存储在 .cs 文件中,另一组存储在 .h 文件中.这带来了双重问题: 我有双重维护.我必须始终同步两个文件位置中枚举的更改.
..
这个问题是在回答这个关于枚举重载解析的问题时出现的. 虽然long long的情况肯定是MSVC2012NovCTP中的一个错误(根据标准文本和gcc 4.7.1的测试),但我无法弄清楚为什么会出现以下行为: #include 枚举 charEnum : char { A = 'A' };void fct(char) { std::cout
..
我尝试做的是: 公共类历史{公共类状态{公共枚举 StateType { Eclipse 在 StateType 上给了我这个编译错误:必须在静态成员类型中定义成员枚举 StateType. 当我将 State 类设为静态时,错误就会消失.我可以将 State 设为静态,但我不明白为什么我不能在内部类中声明 enum. 解决方案 enum 定义为嵌套类型的类型总是隐式static
..
我有一个枚举: public enum baseKey : uint{HKEY_CLASSES_ROOT = 0x80000000,HKEY_CURRENT_USER = 0x80000001,HKEY_LOCAL_MACHINE = 0x80000002,HKEY_USERS = 0x80000003,HKEY_CURRENT_CONFIG = 0x80000005} 给定字符串 HKEY_
..
有没有办法在 C# 枚举常量中放置空格?我已经读到你可以通过这样做在 VB 中做到这一点: 公共枚举 EnumWithSpaces无空格常量[带空格的常量]结束枚举 ...然后像这样访问它: Public Sub UsingEnumWithSpaces()Dim foo As EnumWithSpaces = EnumWithSpaces.[Constant with Spaces]结束子
..
我是 Swift 的新手,刚刚在文档中发现了这一点: 计算属性由类、结构和枚举.存储的属性仅由类提供,并且结构. 这是为什么?枚举的关联值是否像存储属性一样工作?似乎他们最初存储了属性 - 为什么没有存储类型属性对于 swift 类? 解决方案 enum 确实存储了 type 属性 - 即 static 属性.他们没有存储实例属性.我不知道为什么存储的实例属性对 enum 不可
..
我有这样的枚举: 公共枚举配置{XML(1),XSLT(10),TXT(100),HTML(2),分贝(20);私有的最终 int id;私有配置(int id){this.id = id;}公共 int getId() { 返回 ID;}} 有时我需要检查我在枚举中有多少个字段.最好的解决方案是什么?我应该使用“values().length"方法吗?或者,我必须像这样在枚举中创建常量字段:
..
当我们有时, struct E { enum E_ { HELLO };};//'E' 是可继承的 那我们为什么需要, enum class E { HELLO };//'E' 不可继承 IMO 2nd 版本没有提供比 1st 多的功能.我不认为引入 enum class 只是为了节省 2 个花括号 {};!我是否遗漏了任何重要方面? 作为一个小问题,除了语法之外,enum clas
..
我在使用 Enum.TryParse 时遇到了我没想到的行为. 如果我有一个枚举: 公共枚举 MyEnum{值A,值 B,价值C} 然后我将一个数值(作为字符串)传递给 Enum.TryParse,例如: MyEnum outputEnum;bool result = Enum.TryParse("1234", out outputEnum); 尽管字符串“1234"不是一个可能的值
..
可能的重复: 枚举“继承" 我有许多扩展抽象类的类.抽象父类定义了一个具有一组值的枚举.一些子类继承父类的枚举值,但一些子类需要不同的枚举值.有没有办法以某种方式覆盖这些特定子类的枚举,如果没有,有什么好方法可以实现我所描述的? class ParentClass{私人 MyEnum m_EnumVal;公共虚拟 MyEnum EnumVal{得到 { 返回 m_EnumVal;}设置
..
我需要将未预先实现接口的枚举映射到现有数据库,该数据库使用@Enumerated(EnumType.STRING) 将枚举存储在与所有者类相同的表中. class A {HasName 名称;}接口名称{字符串 getName();}枚举 X 实现了 HasName {约翰,玛丽;public String getName() { return this.name();}}枚举 Y 实现 Has
..
我有这个枚举 公共枚举 Reos {VALUE1("A"),VALUE2("B");私人字符串文本;Reos(字符串文本){this.text = text;}public String getText(){return this.text;}公共静态 Reos fromText(String text){for(Reos r : Reos.values()){if(r.getText().eq
..
我使用了一个 API,它返回这样的字符串值: some-enum-value 我尝试将这些值放在 enum 中,因为默认的 StringEnumConverter 没有做我想要的,这是用一些额外的逻辑来装饰这个转换器. 我如何确保值被反序列化正确? 以下代码是我完成这项工作的尝试. 然而行 reader = new JsonTextReader(new String
..
为什么下面的代码编译失败,同时把case语句改成 case ENUM1: doSomeStuff(); 有用吗? 公共枚举 EnumType{ENUM1、ENUM2、ENUM3;void doSomeStuff(){开关(这个){case EnumType.ENUM1: doSomeStuff();}}} 解决方案 这是为了避免与不同的枚举类型进行比较的能力.将其限制为 one 类型是有
..