Tag: 枚举

foreach控制c#跳过控件

我有以下循环来删除我的C#Windows窗体应用程序中的按钮。 唯一的问题是它会跳过其他所有按钮。 如何从表单中删除所有按钮控件? foreach (Control cntrl in Controls) { if(cntrl.GetType() == typeof(Button)) { Controls.Remove(cntrl); cntrl.Dispose(); } }

为什么这个枚举声明现在有效?

在回答另一个问题时,Jon Skeet提到enums的定义有一个奇怪的事情。 他的回答。 他声明重新定义enum的基础类型只能使用类型别名而不能使用框架类型( int有效, Int32不能等) public enum Foo : UInt32 {} // Invalid public enum Bar : uint {} // Valid 现在我试图重现(在VS2015中使用C#6 / Roslyn),我没有得出相同的结论: public enum TestEnum : UInt32 { } 和 public enum MyEnum : uint { } 都是完全有效的。 为什么会这样? 或者改变了什么? 编辑: 所以为了清理事情,它是C#6的一个变化,尚未被记录,并且很快就会记录下来,因为你可以从Roslyn Github上的这个git问题中读到

为什么Enum.Parse会创建未定义的条目?

class Program { static void Main(string[] args) { string value = “12345”; Type enumType = typeof(Fruits); Fruits fruit = Fruits.Apple; try { fruit = (Fruits) Enum.Parse(enumType, value); } catch (ArgumentException) { Console.WriteLine(String.Format(“{0} is no healthy food.”, value)); } Console.WriteLine(String.Format(“You should eat at least one {0} per day.”, fruit)); Console.ReadKey(); } public enum Fruits { Apple, […]

List 类型的EF属性未在db中创建

我正在使用代码EF开发一个ASP.NET MVC5应用程序。 我的代码: public enum Language : byte { [Display(Name = “Turkmen”)] TKM = 1, [Display(Name = “Russian”)] RUS = 2, [Display(Name = “Chineese”)] CHN = 3, [Display(Name = “English”)] ENG = 4 } 我的模型类是: public class Person { [Key] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int PersonID { get; set; } [Required] public string Name { get; set; […]

基于带标志的枚举的MultiSelect WPF ComboBox / ListBox

所以我可能会稍微推动界限…… 基本上我有以下枚举,用C#代码声明: [Flags] public enum FlaggedEnum : int { Option1 = 1, Option2 = 2, Option3 = 4, Option4 = 8, … Option16 = 32768, None = 0 } 此枚举是我已成功绑定到DataGrid对象的对象的成员。 成功意味着我已成功绑定所有其他字段。 🙂 我想要实现的是一个控件,其中检查上面所有适当的选项,其行为和行为类似于ComboBox / ListBox。 因此,您单击该字段并弹出一个下拉菜单,可以“检查”所需的任何选项。 控件还必须能够从枚举中读取并编写枚举。 我是一个WPF新手,所以我不知道在哪里可以创建一个ComboBox并绑定到列…任何帮助将不胜感激!

C# – AsEnumerable示例

AsEnumerable的确切用途是什么? 它会将非可枚举的集合更改为可枚举的集合吗?。请给我一个简单的例子。

entity framework枚举SqlQuery结果

我在尝试查看SqlQuery的结果时遇到奇怪的错误: var sql = “SELECT @someParam”; var someParamSqlParameter = new SqlParameter(“someParam”, “Some Value”); var result = _dbContext.SqlQuery(sql, someParamSqlParameter); var containsAnyElements = result.Any(); 所以当调试器在最后一行时,当我尝试展开结果的结果视图时,它会显示我预期的result(“Some Value”)但是在调用最后一行时我得到了一个exception “SqlParameter已经包含在另一个SqlParameterCollection中。” 看起来当我尝试打开结果的结果视图时,它再次调用此查询。 如果那种行为正确吗? 如果是,请解释为什么会发生这种情况。

枚举inheritance自int

我在这段代码中找到了这个地方: public enum Blah: int { blah = 0, blahblah = 1 } 为什么需要inheritanceint? 它需要吗?

列出标志枚举中的所有位名称

我正在尝试创建一个帮助方法来列出Enum值中设置的所有位的名称(用于记录目的)。 我想要一个方法,它将返回一些变量中设置的所有枚举值的列表。 在我的例子中 [Flag] Enum HWResponse { None = 0x0, Ready = 0x1, Working = 0x2, Error = 0x80, } 我把它提供给0x81,它应该为我提供一个包含{Ready, Error}的IEnumerable 。 由于我没有找到更简单的方法,我尝试编写下面的代码,但我无法编译。 public static IEnumerable MaskToList(Enum mask) { if (typeof(T).IsSubclassOf(typeof(Enum)) == false) throw new ArgumentException(); List toreturn = new List(100); foreach(T curValueBit in Enum.GetValues(typeof (T)).Cast()) { Enum bit = ((Enum) curValueBit); // Here […]

根据XmlEnumAttribute名称值检索枚举值

我需要一个Generic函数来根据枚举的XmlEnumAttribute“Name”属性检索枚举的名称或值。 例如,我定义了以下枚举: Public Enum Currency CDN = 1 USA= 2 EUR= 3 JPN= 4 End Enum 第一个Currency枚举值为1; 枚举名称是“CDN”; 并且XMLEnumAttribute Name属性值为“00”。 如果我有枚举值,我可以使用以下通用函数检索XmlEnumAttribute“Name”值: Public Function GetXmlAttrNameFromEnumValue(Of T)(ByVal pEnumVal As T) As String Dim type As Type = pEnumVal.GetType Dim info As FieldInfo = type.GetField([Enum].GetName(GetType(T), pEnumVal)) Dim att As XmlEnumAttribute = CType(info.GetCustomAttributes(GetType(XmlEnumAttribute), False)(0), XmlEnumAttribute) ‘If there is an […]