首页 程序笔记 c#获取枚举的Description

c#获取枚举的Description

要获取 C# 中枚举的描述(Description),可以使用反射和自定义属性来实现。

首先,需要在枚举值上定义自定义属性(Custom Attribute),用于存储描述信息。例如:

public enum MyEnum
{
    [Description("This is the first value")]
    Value1,

    [Description("This is the second value")]
    Value2,

    [Description("This is the third value")]
    Value3
}

接下来,可以编写一个扩展方法来获取枚举值的描述。例如:

using System;
using System.ComponentModel;
using System.Reflection;

public static class EnumExtensions
{
    public static string GetDescription(this Enum value)
    {
        FieldInfo field = value.GetType().GetField(value.ToString());

        DescriptionAttribute attribute
                = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute))
                    as DescriptionAttribute;

        return attribute == null ? value.ToString() : attribute.Description;
    }
}

现在,可以使用该扩展方法获取枚举值的描述。例如:

MyEnum myValue = MyEnum.Value1;
string description = myValue.GetDescription();
Console.WriteLine(description); // 输出:This is the first value

注意,上述方法中使用了 System.ComponentModel 命名空间中的 DescriptionAttribute 类来定义自定义属性。如果在项目中没有使用该命名空间,则需要添加对 System.ComponentModel 命名空间的引用。

3

站心网

要获取 C# 中枚举的描述(Description),可以使用反射和自定义属性来实现。 首先,需要在枚举值上定义自定..

为您推荐

mysql随机获取一条或者多条数据

语句一:select * from users order by rand() LIMIT 1MYSQL手册里面针对RAND()的提示大概意思就是,在 ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描,导致效率相当相当的低,效率不行,切..

IIS站点里的application能获取主站点的session吗?

在 IIS 中,主站点和其下的 Application 通常被视为独立的应用程序实例。默认情况下,主站点和子应用程序无法共享 Session 数据,因为它们各自运行在独立的应用程序池中,使用独立的会话状态管理。无法共享Session的..

c#获取两个数组或集合的交集或差集

c#获取两个数组或集合的交集或差集。 不要使用循环,效率肯定低。C#有现成的高性能的获取数组或集合的交集或差集方法:Intersect和Except。 使用Intersect和Except获取两个数组的交集或者差集时性能很高,我测试两个..

Blazor获取Url路由参数的方法

这里整理了两种获取参数值的方法: 通过NavigationManager服务获取参数值和配置路由参数获取参数值。在Blazor Server和WebAssembly中,可以通过注入 NavigationManager服务获取Uri转化为Uri对象得到Query. 然后使用H..

.NET Core获取请求者真实IP

在.NET Core中,可以通过访问HttpContext中的RemoteIpAddress属性来获取请求者的IP地址。代码示例如下:public IActionResult MyAction(){var remoteIpAddress = HttpContext.Connection.RemoteIpAddress;return Vie..

.NET Core MVC 获取UrlReferer

在ASP.NET MVC中可以使用Request.UrlReferer获取Url访问来源,但是在.NET Core MVC中Request没有UrlReferer属性,可以使用Request.Headers["Referer"]获取UrlReferer值,也可以使用GetTypedHeaders()方法获取UrlRefe..

c#获取文件夹所有文件列表

可以使用C#的Directory和File类来获取一个文件夹中所有的文件列表。下面是一个示例代码,可以获取指定文件夹中所有的文件列表:using System;using System.IO;class Program {static void Main(string[] args) {stri..

c# int数值转enum枚举

在C#中,将整数值转换为枚举类型(Enum)可以使用类型转换或者枚举的静态方法。假设你有一个枚举类型 MyEnum,下面是两种方法来将整数值转换为该枚举类型:假设你有以下枚举定义:enum MyEnum{Value1,Value2,Value3}..

c#获取枚举的描述Description和摘要Summary

在C#中,获取枚举的描述(Description)和摘要(Summary)通常需要使用自定义的特性来实现。下面是一个示例,演示如何为枚举添加Description和Summary,并在代码中获取它们:首先,你需要创建两个自定义的特性类,一..

.NET C#获取客户端真实IP

在 .NET 中获取客户端真实IP地址(而不是代理服务器的IP地址)可以通过 HttpContext.Current.Request.UserHostAddress 属性来实现。然而,在某些情况下,代理服务器可能会更改请求头信息,导致 UserHostAddress 返回..

.NET Core获取Request.UrlReferer

在 ASP.NET Core 中,获取请求的引用(Referrer)URL可以使用 HttpContext.Request.Headers 来访问,引用(Referrer)URL存储在请求的头部信息中,头部名称为 "Referer"。以下是如何在 ASP.NET Core 中获取请求的引..

C#微信公众平台access_token的获取存储与更新

一、什么是access_token? access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_token失效。由于获取access_to..

获取ip信息的api有哪些?

获取 IP 信息的 API 很多,以下是一些常用的 IP 信息查询 API:IPInfo.io: https://ipinfo.io/IP-API.com: https://ip-api.com/GeoIPify: https://geoipify.whoisxmlapi.com/IPStack: https://ipstack.com/IPLoc..

C#正则表达式获取图片src

要使用 C# 正则表达式获取 HTML 中图片标签的 src 属性,你可以尝试以下方法:假设你有一个包含 HTML 内容的字符串 htmlContent,你可以使用正则表达式来提取其中的图片 src 属性值。using System;using System.Text..

React获取url参数的几种方法

在React中获取URL参数的方法有以下几种:使用window.location.searchconst searchParams = new URLSearchParams(window.location.search);const id = searchParams.get('id');使用react-router-dom如果使用了react-r..

js如何获取urlrefer

要获取浏览器中的引荐 URL,可以使用 JavaScript 中的 document.referrer 属性。以下是一个示例代码片段,它将打印出当前页面的引荐 URL:console.log(document.referrer);请注意,refer url 可能不可用,这取决于用..

C#中如何获取当前系统CPU的核心数

在C#开发中,有时候我们需要获取当前系统CPU的核心数,关于CPU的核心数,主要有物理处理器(Physical Processors)的个数、CPU核心(Cores)的个数和逻辑处理器(Logical Processors)的个数三种。比如,使能了超线..

react hooks获取url参数

在 React 中使用 Hooks 来获取 URL 参数可以通过使用 React Router 库来实现。React Router 是一个流行的用于处理路由的库,它允许你在应用中管理不同的页面和路由。以下是如何使用 React Router 和 Hooks 来获取 UR..

react获取url参数 忽略参数名大小写

要在 React 中获取 URL 参数并忽略参数名的大小写,你可以使用 JavaScript 的 URLSearchParams 对象来处理 URL 查询参数。这将允许你在参数名上执行不区分大小写的比较。以下是一个示例:import { useEffect } from ..

C#获取Windows系统中所有已安装软件的名称和版本号

需求在Windows中使用C#做软件开发,有时候需要获取当前系统中已安装的软件及其版本号,接下来就简单介绍一下,如何通过C#获取来实现。示例代码已安装的软件,在注册表中都会有软件信息和卸载信息,我们只需要扫描注..

发表回复

返回顶部