一、需求我们在开发中经常会遇到一些枚举,而且这些枚举类型可能会在表单中的下拉中,或者单选按钮中会用到等。 这样用是没问题的,但是用过的人都知道一个问题,就是枚举的命名问题,当然有很多人枚举直接中文命名,我是不推荐这种命名规则,因为实在不够友好。那有没有可以不用中文命名,而且可以显示中文的方法呢。答案是肯定的。 二、特性解决枚举命名问题那就是用特性解决命名问题,这样的话既可以枚举用英文命名,显示又可以...
前言:
我相信大家在编写代码时经常会遇到各种状态值,而且为了避免硬编码和代码中出现魔法数,通常我们都会定义一个枚举,来表示各种状态值,直到我看到Java中这样使用枚举,我再想C# 中可不可以这样写,今天就分享一下我的感悟。
一、通常我们是这样使用枚举的
(1)switch中使用枚举public enum EmployeeType{Manager,Servant,AssistantToTheRegionalManager}
public class Employee{public EmployeeType Type { get; set; }pub...
一. DescriptionAttribute的普通使用方式1.1 使用示例DescriptionAttribute特性可以用到很多地方,比较常见的就是枚举,通过获取枚举上定义的描述信息在UI上显示,一个简单的枚举定义:public enum EnumGender
{
None,
[System.ComponentModel.Description("男")]
Male,
[System.ComponentModel.Description("女")]
Female,
Other,
} 本文不讨论DescriptionAttribute的其他应用场景,也不关注多语言的实现,只单纯的研究下获取...
本文简单分析了.NET中的枚举用法。分享给大家供大家参考。具体分析如下:
我理解的枚举就是编程中约定的一个“可选值”;例如QQ的在线状态,分别有 在线,Q我吧,隐身,忙碌等等。。。我觉得这就是一个枚举。
1.普通枚举
1) 实例代码如下:public enum UserState
{
QMe,
OnLine,
OffLine //后面省略
}
ps:像上边的枚举,可以单独写在一个CS文件中。
2)普通枚举的性质
1. 互斥性
2. 每一个值都有一个数值来表示
3. 枚...
在MVC开发中我们常常用到枚举类型,通常枚举类型在使用中是是用DropDownList,每次转换不是什么好办法。 通过扩展加以实现此功能。 代码如下:public static class ExSelectListItem { public static List<SelectListItem> ToSelectListItem(this Enum valueEnum) { return (from int value in Enum.GetValues(valueEnum.GetType()) select new SelectListItem ...
代码如下:public class AppEnum { public enum PointLogType : int { /// <summary> /// Email确认 /// </summary> [Description("Email确认")] Recruit = 1, //新客户激活+ /// <summary> /// 老客户回馈 /// </summary> [Description("老客户回馈")] Veteran = 2, //老客户购物历史回复 /// <summary> /// 生成订单 /// </summary> [Description("生成订单")] CreateOrder = 3, //下订单- /// <summary> /// 作废订单 /// </summ...
问题:还是升级到3.1的问题,直接上图,现象如下:
我们的系统里,有一些查询条件是从枚举转化过来的,但是为了统一,界面渲染的时候追加了一个“请选择”,value为-999,这种场景很多很多,可以看到-999不在枚举的定义里,只要我以当前选择状态提交请求,后端全局的modal valid就会报错,说-999不是有效的值。
这个情况在我之前2.1里面不存在的,升级到3.1就这样了。
调查:我同事也在看,居然在github里有人提过这样的issue:h...
问题:还是升级到3.1的问题,直接上图,现象如下:
我们的系统里,有一些查询条件是从枚举转化过来的,但是为了统一,界面渲染的时候追加了一个“请选择”,value为-999,这种场景很多很多,可以看到-999不在枚举的定义里,只要我以当前选择状态提交请求,后端全局的modal valid就会报错,说-999不是有效的值。
这个情况在我之前2.1里面不存在的,升级到3.1就这样了。
调查:我同事也在看,居然在github里有人提过这样的issue:h...
假设我有一个这样的枚举:public enum ContactPhoneType
{[Display(Name = "")]None = 0,[Display(Name = "Home Phone")]HomePhone = 1,[Display(Name = "Cell/Mobile Phone")]CellMobile = 2,[Display(Name = "Work Phone")]Work = 3,[Display(Name = "Family Member")]FamilyMember = 4,[Display(Name = "Fax Number")]Fax = 5,[Display(Name = "Other")]Other = 6,
}我只想显示列表中的前6个.如何隐藏最后一个?
为了显示所有项...
最近公司在开发财务系统,在工作中遇到不少的地方需要下拉框。
但是枚举框中数据的内容又来自枚举。
枚举代码如下:1 public class EnumDemo2 {3 4 public enum Value {5 First=1,6 Second=27 }8 public enum Name9 {
10 我是第一 = 1,
11 我是第二 = 2
12 }
13
14
15
16 }View Code
我一看还挺简单。
于是第一次是这样的:
...
我正在创建一个示例ASP.NET MVC Web应用程序,我正在遵循数据库的代码优先方法.我想创建产品表和事务表,另外我想通过迁移包含一些示例数据,但是当我尝试执行Update-Database时,我收到了标题中提到的错误消息.我确切地知道错误发生的原因,那是因为我使用List< Product>,如下所示.但是,我不知道如何解决问题,而交易应包括一个或多个产品.我的代码段可以在下面找到.public class Product
{public int ProductID { get; set; }public st...
我正在使用多语言网站,并且我使用了一些枚举,现在我们可以根据多语言制作这些枚举?
我的枚举结构是public enum abc
{[Description{"multilingual text"}]StatucActive = 1
}像这样.我想在描述中写多语言文字.解决方法:不,我们不能使用枚举作为多语言,但我有一个替代选项,使用资源文件,它在某些情况下像枚举一样工作.
请尝试资源文件,它将解决您的问题….
在我的ViewModel中,我有一个属性,可以为我的表单的下拉菜单创建一个枚举.public enum Colors{[Description("Dark Red")]DarkRed = 0,[Description("Orange")]Orange = 1,[Description("Blue")]Blue = 2}我的助手回归:<select id="ddlColor"><option value="DarkRed">Dark Red</option><option value="Orange">Orange</option><option value="Blue">Blue</option>
</select>但是,当我在模型中调用属性时,我只获取名称而不是值,例如...