Tag: 枚举

为什么不能用方法在本地声明枚举?

今天,我发现自己编码这样的… public class LocalEnums { public LocalEnums() { } public void foo() { enum LocalEnum { A,B,C }; // …. // class LocalClass { } } } 当编译器在本地enum报告错误时,我感到很惊讶: 成员枚举LocalEnum不能是本地的 为什么不能枚举声明本地像类 ? 我发现这在某些情况下非常有用。 在我工作的情况下,其余的代码不需要知道任何关于enum 。 有没有结构/devise冲突解释为什么这是不可能的,或者这可能是Java的未来function?

将枚举传递给html.radiobuttonfor MVC3

我有一个被称为ActionStatus的枚举有2个可能的值打开= 0和closures= 1 public enum ActionStatus { Open, Closed } 我想在我的编辑中创build单选button组,并创build视图,使用该枚举来填充单选button,其中a)创build视图中的默认值和b)编辑视图中当前选定的选项。 我需要一个扩展方法,并有任何人已经创build一个? 编辑:在Darins的答案下面这是我的模型类 namespace Actioner.Models { [MetadataType(typeof(MeetingActionValidation))] public class MeetingAction { [Key] public int MeetingActionId { get; set; } [Required] [Display(Name = "Description")] public string Description { get; set; } [Required] [Display(Name = "Review Date")] public DateTime ReviewDate { get ;set; } public int Status{ […]

validation枚举值

我需要validation一个整数来知道如果是一个有效的枚举值。 什么是在C#中做到这一点的最好方法?

在C#中将Int转换为通用枚举

类似于铸造诠释枚举在C#中,但我的枚举是一个genericstypes参数。 处理这个问题的最好方法是什么? 例: private T ConvertEnum<T>(int i) where T : struct, IConvertible { return (T)i; } 生成编译器错误Cannot convert type 'int' to 'T' 完整代码如下,其中value可以包含int或null。 private int? TryParseInt(string value) { var i = 0; if (!int.TryParse(value, out i)) { return null; } return i; } private T? TryParseEnum<T>(string value) where T : struct, IConvertible { var i […]

EnumSet是什么意思?

我有以下例子: import java.util.EnumSet; import java.util.Iterator; public class SizeSet { public static void main(String[] args) { EnumSet largeSize = EnumSet.of(Size.XL,Size.XXL,Size.XXXL); for(Iterator it = largeSize.iterator();it.hasNext();){ Size size = (Size)it.next(); System.out.println(size); } } } enum Size { S, M, L, XL, XXL, XXXL; } 在这段代码中,我可以理解Enum创build了Enumtypes的Sizes。 我的问题是: largeSize是EnumSettypes的一个对象? 这是什么意思? 我真的想更好地理解它。

枚举值()。长度与专用字段

我有这样的枚举: public enum Configuration { XML(1), XSLT(10), TXT(100), HTML(2), DB(20); private final int id; private Configuration(int id) { this.id = id; } public int getId() { return id; } } 有时我需要检查枚举中有多less个字段。 什么是最好的解决scheme? 我应该使用“values()。length”方法吗? 或者,也许,我必须像这样在枚举中创build常量字段: public enum Configuration { XML(1), XSLT(10), TXT(100), HTML(2), DB(20); private final int id; private Configuration(int id) { this.id = id; } […]

迅速。 UILabel文本alignment

我快速创build我的UILabel: let label = UILabel(frame: CGRect( x: 50, y: 50, width: 100, height: 50)) 设置属性似乎很容易: label.textColor = UIColor.redColor() 如何实现像textAlignment的枚举types? 在目标C中是这样的 label.textAlignment = NSTextAlignmentCenter; 但迅速似乎并没有工作。

类中的C#公共枚举

我有一个包含公共枚举类的程序,如下所示: public class Card { public enum card_suits { Clubs, Hearts, Spades, Diamonds } … 我想在我的项目中的其他地方使用,但不能使用Card.card_suit。 有谁知道是否有方法在C#中声明这个,以便我能够声明 card_suits suit; 没有引用它所在的类?

Java Enum return Int

我无法声明一个枚举。 我试图创build一个“DownloadType”的枚举,其中有3种下载types(AUDIO,VIDEO,AUDIO_AND_VIDEO)。 我已经执行的代码如下: private enum DownloadType { AUDIO(0), VIDEO(1), AUDIO_AND_VIDEO(2); private final int value; private DownloadType(int value) { this.value = value; } } 这工作正常,如果我然后像这样使用它: DownloadType.AUDIO_AND_VIDEO.value; 不过,我想这样做,我不必要求“价值”。 我可能会误解,但这是几个类在Java中工作的方式,如Font,例如设置字体样式,您可以使用: Font.PLAIN 其中返回一个int值,我们不使用: Font.PLAIN.value

Java的枚举和切换语句 – 默认情况下?

对于build议抛出exception的人: 抛出exception不会给我一个编译时错误,它给我一个运行时错误。 我知道我可以抛出一个exception,我宁愿在编译期间比在运行时死亡。 首先,我使用Eclipse 3.4。 我有一个数据模型有一个模式属性是一个枚举。 enum Mode {on(…), off(…), standby(…); …} 我目前正在写这个模型的视图,我有代码 … switch(model.getMode()) { case on: return getOnColor(); case off: return getOffColor(); case standby: return getStandbyColor(); } … 我得到一个错误“此方法必须返回typesjava.awt.Color的结果”,因为我没有默认情况下,并没有返回xxx在函数结束。 我想要一个编译错误的情况下,有人添加另一种types的枚举(例如closures),所以我不想把一个默认情况下抛出一个AssertionError,因为这将编译与修改后的模式,而不是被视为错误直到运行时。 我的问题是这样的: 为什么EclipseBuilder(和javac)不能识别这个开关覆盖了所有的可能性(或覆盖了它们?),并停止警告我需要返回types。 有没有办法,我可以做我想要的,而不添加方法模式? 如果没有,那么是否有一个选项可以在switch语句上警告/错误,而这些语句并不包含所有Enum的可能值? 编辑:罗布:这是一个编译错误 。 我只是试着用javac编译它,然后我得到一个针对方法最后一个“丢失的返回语句”的错误。 Eclispe只是将错误放在方法的顶部。