首页 > 其他分享 >EnumDesc方法

EnumDesc方法

时间:2023-05-06 10:23:03浏览次数:30  
标签:Description attribute EnumDesc null 方法 string name

using System;
using System.ComponentModel;

public string EnumDesc(Type type,int value)
        {
            string name = Enum.GetName(type, value);
            if (name == null)
            {
                return string.Empty;
            }
            FieldInfo field = type.GetField(name);
            DescriptionAttribute attribute = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute)) as DescriptionAttribute;
            if (attribute == null )
            {
                return name;
            }
            return attribute == null ? string.Empty : attribute.Description;
        }

调用时:

public enum enum123
    {
        [Description("@a")]
        枚举a = 0,
        [Description("@b")]
        枚举b = 1,
        [Description("@c")]
        枚举c = 2
    }

EnumDesc(typeof(enum123), 0);

 

标签:Description,attribute,EnumDesc,null,方法,string,name
From: https://www.cnblogs.com/laokchen/p/17376215.html

相关文章

  • WireShark抓包工具抓取查看指定的软件进程网络包的方法
    一、查询应用的端口 1、打开【任务管理器】,点击【查看】—>【选择列】,选中【PID(进程标识符)】2、记录想要查询端口号的PID,比如:打开【运行】—>输入【cmd】,打开【命令处理器】 输入【netstat-ano|findstr6600】52330和52331即为IExplorer的端口号; 二、wiresh......
  • 常用的截取字符串方法JS和Golang实现
    JS中截取字符串很简单,直接使用substr函数substr()方法可在字符串中截取从开始下标开始的指定数目的字符。下标是从0开始算例如:"21".substr(0,1)  返回2golang实现的substr//截取字符串,支持多字节字符//start:起始下标,负数从从尾部开始,最后一个为-1//length:截取长度,......
  • Blazor中打开一个新页面的最好方法
    适用于BlazorWasm和BlazorSSR调用下面的js方法说一下为什么不用window.open,有可能被拦截是小问题,大问题是打开新页面未加载完时,回到原页面,大概率卡死,无法点击任何东西,只有f12之后才恢复回来。而用创建a标签就不会有这种问题。//创建超链接,不会被拦截functionopenBrowser......
  • 错误信息----输出方法
    错误信息输出方式:一:JDK方式控制台输出try{       可能出错的代码}catch(Exceptione){e.printStackTrace();在控制台打印出异常种类,错误信息和出错位置等} 二:Log4j日志输出:导入org.apache.log4j.Logger;及相关包方法1:在需要使用log4j的地方获取Log实例(写......
  • 1分钟了解C语言正确使用字节对齐及#pragma pack的方法
    ​C/C++编译器的缺省字节对齐方式为自然对界。即在缺省情况下,编译器为每一个变量或是数据单元按其自然对界条件分配空间。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储(成员之间可能有插入的空字节),第......
  • java基础-什么是方法,方法的定义和调用,方法的重载,方法的内存
    一、什么是方法方法method是程序中最小的执行单元。在实际开发中,可以将重复的代码、具有独立功能的代码抽取到方法中,这样可以提高代码的复用性和可维护性。二、方法的定义(打包)和调用注意:方法要写在main主方法的外面(在main方法外面定义)。1、最简单的方法定义和调用//最简单......
  • register at least one qt version using“qt vs tools“->“qt options“问题描述及解
    问题描述:在安装了Qt5.9.8,vs2022,QTVSTool2022并配置好环境变量之后创建Qt项目时无法创建,提示至少需要注册一个Qt版本到QtVSTools的QtOptions 解决方法:1.重新打开一个可以创建的C++vs文件,在上方菜单栏中“工具-选项-找到Qt的version”,点击加号,再点击windows右侧的......
  • Go笔记(十一):方法
    Go语言没有Java语言面向对象的特性,也无类对象的概念。但可以使用结构体实现这些特性。1、方法的声明Go中的方法是一种特殊的函数,与struct相关联,被称为struct的接收者。可以理解为方法就是有接收者的函数。语法格式如下:typemystructstruct{}func(recvmystruct)my......
  • re.finall方法的使用
    finall()特点:1.如果正则表达式中没有()则返回与整个正则匹配的列表2.如果正则表达式中有(),则返回()中匹配的内容列表,小括号两边东西都是负责确定提取数据所在位置1.正则表达式匹配单个数字和多个数字: 2.正则表达式_findall方法中flag参数的作用:3.finall方法中分组的......
  • Java的反射用途及其获取反射的三种方法
    (1)反射的用途有多种:①框架设计:在框架设计中,我们通常需要使用反射技术来解耦,使框架可扩展和灵活。②单元测试:在单元测试中,我们可以使用反射技术来访问私有或受保护的类成员,使测试更加全面。③动态代理:使用反射技术可以创建动态代理对象,从而可以在运行时期代理任意的......