Tag: enums

将UWP ComboBox ItemsSource绑定到Enum

可以在WPF应用程序中使用ObjectDataProvider将枚举的字符串值绑定到ComboBox的ItemsSource, 如此问题所示 。 但是,在UWP应用程序中使用类似的代码段时,ff。 显示错误消息: “Windows Universal项目不支持ObjectDataProvider。” 在UWP中有没有一个简单的替代方法呢?

改变枚举的数量是一个重大改变吗?

请考虑以下代码: public enum SomeCode { NIF = 0 ,NIE = 1 ,CIF = 2 ,PAS = 3 ,NIN = 4 ,SSN = 5 ,OTH = 5 ,UKN = 6 } 将OTH = 5改为OTH = 7会是一个突破性变化吗? 编辑:我从不存储int值,只存储枚举的文本表示。 它可以在其他DLL中使用,但将使用相同的存储。

C#:检查一组枚举值的最佳方法是什么?

假设你有enum MyEnum {A = 0, B = 1, C = 2, D = 4, E = 8, F = 16}; 在某些时候,您有一个函数将检查MyEnum的实例,如果它是C,D或F则返回true bool IsCDF(MyEnum enumValue) { return //something slick } 我记得有一些非常灵巧的方法可以进行位移和预先形成这种操作,比一堆三元if语句读取方式更好但是对于我的生活我不记得它是什么。 谁知道?

枚举应该具有未初始化的值。

如果枚举应该具有未初始化的值,我们就会进行辩论。 例如。 我们有 public enum TimeOfDayType { Morning Afternoon Evening } 要么 public enum TimeOfDayType { None Morning Afternoon Evening } 我认为不应该没有,但是你必须在初始化时默认为某个有效值。 但是其他人认为应该通过另一个枚举为None或NotSet来表明单一状态。 想法?

为什么我必须在C#中将枚举转换为int?

这是我的代码: internal enum WindowsMessagesFlags { WM_EXITSIZEMOVE = 0x00000232, WM_DISPLAYCHANGE = 0x0000007e, WM_MOVING = 0x00000216, } protected override void WndProc(ref Message m) { switch(m.Msg) { case (int)WindowsMessagesFlags.WM_DISPLAYCHANGE: FixWindowSnapping(); break; case (int)WindowsMessagesFlags.WM_EXITSIZEMOVE: SaveWindowProperties(); break; case (int)WindowsMessagesFlags.WM_MOVING: KeepProperLocation(ref m); break; } } 反正有没有阻止铸造?

如何在c#xml docs中引用枚举常量

我想记录枚举类型字段的默认值: /// /// The default value is . /// public Orientation BoxOrientation; 编译器警告它无法解析引用。 前缀F:或M:使编译器静音,但E:也可以,所以我不确定哪个前缀是正确的。

使用ASP.NET MVC 3中的枚举

是否有一种聪明的方法可以让MVC脚手架为枚举值的模型属性呈现下拉列表或列表框? 例: public class MyModel { public Color MyColor { get; set; } public Option Options { get; set; } } public enum Color { None = 0, Red = 1, Blue = 2, White = 3 } [Flags] public enum Option { NotSet = 0, Option1 = 1, Option2 = 2, Option3 = 4, […]

如何在C#中将System.Array转换为object

我有一个COM函数,期望object[]作为参数: foo(object[] values) 我想传递一些enum字段,所以我使用以下内容: object[] fields = (object[])Enum.GetValues(typeof(SomeEnumType)); 但是,当我尝试将fields传递给foo(…)即[ foo(fields) ]时出现错误: “无法将类型为’SomeEnumType []’的对象强制转换为’system.Object []’。 谁能告诉我我做错了什么?

C ++ / CLI枚举没有在C#中显示,参考C ++ / CLI项目

我无法获得C ++ / CLI枚举的内容以显示在C#项目中。 我可以看到我写的一个类,甚至看到枚举,但我看不到枚举值。 所以我不能在C#端使用这个东西。 无法显示C ++ / CLI枚举内容的任何原因。 我的C ++ / CLI项目被编译为混合以重用C ++库。 我正在使用Visual Studio 2005。

获得Char Enum的更好方法

有没有更简洁的方法来获取C#中枚举的char值。 public enum DivisionStatus { None = ‘N’, Active = ‘A’, Inactive = ‘I’, Waitlist = ‘W’ } string status = Enums.DivisionStatus.Active.ToString()[0].ToString(); // “A”