枚举扩展方法获取枚举Description】的更多相关文章

枚举扩展方法 /// <summary> /// 扩展方法,获得枚举的Description /// </summary> /// <param name="value">枚举值</param> /// <param name="nameInstend">当枚举没有定义DescriptionAttribute,是否用枚举名代替,默认使用</param> /// <returns>枚举…
/// <summary> /// 枚举扩展方法 /// </summary> public static class EnumExtension { private static Dictionary<string, Dictionary<string, string>> _enumCache; /// <summary> /// 缓存 /// </summary> private static Dictionary<stri…
其他扩展方法详见:https://www.cnblogs.com/zhuanjiao/p/12060937.html /// <summary> /// 扩展方法,获得枚举的Description /// </summary> /// <param name="value">枚举值</param> /// <param name="nameInstead">当枚举值没有定义DescriptionAttrib…
1.定义枚举类型 public enum Test { 男 = , 女 = } 2.获取枚举值 public void EnumsAction() { var s = Test.男;//男 var a = Test.男.ToString();//"男" ;//女 var x = (Test)Enum.Parse(typeof(Test), "男");//男 var x2 = Enum.Parse(typeof(Test), "男");//男 );…
在使用Linq 提供的扩展方法时,First(OrDefault), Single(OrDefault), Last(OrDefault)都具有返回单个元素的功能.MSDN对这些方法的描述只有功能说明,没有关于内部的相关实现的描述说明. 首先我们来看下MSDN上关于这些扩展方法的官方描述: First: 返回序列中的第一个元素 . FirstOrDefault: 返回序列中的第一个元素:如果未找到元素,则返回默认值. Last:返回序列的最后一个元素. LastOrDefault: 返回序列中的…
/// <summary> /// get enum description by name /// </summary> /// <typeparam name="T">enum type</typeparam> /// <param name="enumItemName">the enum name</param> /// <returns></returns> pu…
枚举类为: public enum OrderStatusEnum implements CondeEnum{ NEW(0, "新订单"), FINISHED(1, "完结"), CANCLE(2, "取消"); private Integer code; private String msg; OrderStatusEnum(Integer code, String msg) { this.code = code; this.msg = msg…
JAVA枚举相对来说比.NET的枚举功能强大,感觉就像是一种简化版的类对象,可以有构造方法,可以重载,可以继承接口等等,但不能继承类,JAVA枚举在实际开发中应用相当频繁,以下几个封装方法在实际开发中可能用到,希望对新手有些帮助. 首先,新建一个枚举接口,为保证所有继承此接口的枚举value及description一致,便于开发使用,枚举统一接口如下. public interface EnumCommon { public int getValue(); public String getDe…
)             {                 ] >=  && ipvals[] <=                  && ipvals[] >=  && ipvals[] <=                  && ipvals[] >=  && ipvals[] <=                  && ipvals[] >=  &…
在使用面向对象的语言进行项目开发的过程中,较多的会使用到“继承”的特性,但是并非所有的场景都适合使用“继承”特性,在设计模式的一些基本原则中也有较多的提到. 继承的有关特性的使用所带来的问题:对象的继承关系实在编译时就定义好了,所以无法在运行时改变从父类继承的实现.子类的实现与它父类有非常紧密的依赖关系,以至于父类实现中的任何变化必然会导致子类发生变化.当你需要复用子类时,如果继承下来的实现不适合解决新的问题,则父类必须重写它或被其他更适合的类替换,这种依赖关系限制了灵活性并最终限制了复用性.替…
在使用面向对象的语言进行项目开发的过程中,较多的会使用到“继承”的特性,但是并非所有的场景都适合使用“继承”特性,在设计模式的一些基本原则中也有较多的提到. 继承的有关特性的使用所带来的问题:对象的继承关系实在编译时就定义好了,所以无法在运行时改变从父类继承的实现.子类的实现与它父类有非常紧密的依赖关系,以至于父类实现中的任何变化必然会导致子类发生变化.当你需要复用子类时,如果继承下来的实现不适合解决新的问题,则父类必须重写它或被其他更适合的类替换,这种依赖关系限制了灵活性并最终限制了复用性.替…
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.ComponentModel;using System.Reflection; public partial class EnumTest : System.Web.UI.Page{    /// <summ…
C#中可以对枚举类型用Description特性描述. 如果需要对Description信息获取,那么可以定义一个扩展方法来实现.代码如下: public static class EnumExtensions { public static string GetDescription(this object value) { if (value==null) return string.Empty; Type type = value.GetType(); var fieldInfo = ty…
一. DescriptionAttribute的普通使用方式 1.1 使用示例 DescriptionAttribute特性可以用到很多地方,比较常见的就是枚举,通过获取枚举上定义的描述信息在UI上显示,一个简单的枚举定义: public enum EnumGender { None, [System.ComponentModel.Description("男")] Male, [System.ComponentModel.Description("女")] Fem…
没什么好说的,都是些基础! 代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace DFS { class Program { static void Main(string[] ar…
首先定义一个枚举:两个值:已确认.未确认. public enum ConfirmStatusEnum { [Description("未确认")] unconfirmed = , [Description("已确认")] confirmed = } 转换枚举的方法: private void InitConfirmStatus() { ; object[] atts = null; ConfirmStatusEntity statusEntity = null;…
方法类: public static class EnumExtensions { #region Enum /// <summary> /// 获取枚举变量值的 Description 属性 /// </summary> /// <param name="obj">枚举变量</param> /// <returns>如果包含 Description 属性,则返回 Description 属性的值,否则返回枚举变量值的名称&l…
关键代码: using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Reflection; namespace CSharpUtilHelpV2 { /// <summary> /// 基于.NET 2.0的枚举工具类 /// </summary> public static class EnumToolV2…
/// <summary> /// 获取枚举值上的Description特性说明 /// </summary> /// <typeparam name="T">枚举类型</typeparam> /// <param name="obj">枚举值</param> /// <returns></returns> public static string GetDescript…
/// <summary> /// 获取枚举Description的Name /// </summary> /// <param name="enumName">枚举</param> /// <returns></returns> public static string GetDescription(Enum enumName) { var name = enumName.ToString(); var type…
    public enum Avbc    {        Red=1,        Blue=2,        Whilt=3,        Black=4    } public static class EmumHelper { public static SelectList GetSelectListByEnum<TEnum>(this TEnum enumObj, int? selectedItem = null) { ) { List<SelectListIte…
上篇(.Net Standard扩展支持实例分享)介绍了OSS.Common的标准库支持扩展,也列举了可能遇到问题的解决方案.由于时间有限,同时.net standard暂时还没有提供对DescriptionAttribute的支持,所以其中的转化枚举到字典列表的扩展当时按照第一种处理方式先行屏蔽,这次按照第三种方式完善一下. 既然.net standard 下没有提供对DescriptAttribute的支持,首先我先自定义一个Attribute来补充: [AttributeUsage(Att…
Enum使用 获取枚举属性 注意:扩展方法必须定义为静态类,静态方法中. public enum EnumPatientSource { [Description("住院")] INHOSPITAL = -1, [Description("门诊")] OUTPATIENT = 0, } public static class EnumHelper { public static string ToDescription(this Enum val) { var ty…
问题缘起 WPF的分层结构为编程带来了极大便利,XAML绑定是其最主要的特征.在使用绑定的过程中,大家都普遍的发现枚举成员的绑定是个问题.一般来说,枚举绑定多出现于与ComboBox配合的情况,此时我们希望实现的目标有: 建立选择项与ItemsSource的对应关系: 自动获取用于ItemsSource的枚举源: 自定义下拉框中显示的内容. 对于目标1,考虑最简单的模式,即枚举的定义采用从0开始的连续整数,可以使用IValueConverter接口来实现从枚举到整型的双向转换,以使得枚举成员绑定…
一.引言 枚举为我看日常开发的可读性提供的非常好的支持,但是有时我们需要得到枚举值得描述信息或者是注释(备注)信息 比如要获得 TestEmun.aaa 属性值得备注 AAA,比较不方便得到. public enum TestEmun     { /// AAA       aaa =1,       /// BBB       bbb =2,       /// CCC       ccc =3     } 如果要得到类似的效果,我们就需要修改一下代码了,使用反射很容易得到这个结果. 二.定义…
一般情况我们会用枚举类型来存储一些状态信息,而这些信息有时候需要在前端展示,所以需要展示中文注释描述. 为了方便获取这些信息,就封装了一个枚举扩展类. /// <summary> /// 枚举扩展类 /// </summary> public static class EnumExtension { /// <summary> /// 获取枚举的描述,需要DescriptionAttribute属性 /// </summary> /// <param…
一.定义一个类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Reflection; namespace XXX.XXX.Utils { /// <summary> /// 备注特性 /// </summary> public class DescAttribute : A…
项目中使用枚举类的好处这里不再赘述,在使用枚举值时,通常需要根据值来获取枚举对象,下面介绍两种实现方案: 1.在枚举类中定义方法实现 首先给出如下性别枚举类: public enum SexEnum { MAN("M", "男"), WOMAN("F", "女"); private String code; private String desc; SexEnum(String code, String desc) { thi…
在实际开发项目中,我们定义了一个枚举,往往我们需要在下拉框或其它地方展示枚举.为了加深印象,也为了帮到有需要的人,我写了一个DEMO. 第一步,我们定义一个枚举: /// <summary> /// 测试枚举 /// </summary> public enum EnumStatus { [Description("状态1")] A = , [Description("状态2")] B = , [Description("状态3&q…
public class MusterEnum { /// 获取枚举的描述信息 /// </summary> /// <param name="e">传入枚举对象</param> /// <returns>得到对应描述信息</returns> public String GetEnumDesc(Enum e) { FieldInfo EnumInfo = e.GetType().GetField(e.ToString());…