c#获取枚举的Description
2024-10-10
51
要获取 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 命名空间的引用。
更新于:1个月前赞一波!
相关文章
- .NET C# EntityFramework(EF)连接SQLite代码示例
- .NET9 C# 13 有哪些新特性?
- C#中的String和StringBuilder的区别
- .NET C#中的IEnumerable和IEnumerator的区别
- C# Const 和 ReadOnly的区别
- C# 使用Barrier进行多线程同步
- C#发送邮件代码简洁示例(附源码下载)
- C# Word转换成Pdf的方法
- c#使用MongoDB开发LBS应用
- hprose for C#使用教程
- c#实现与Java无差异的GZip压缩和GZip解压缩
- .NET Core c#使用SkiaSharp压缩裁切图片去除水印
- c# decimal保留2位小数 并向下舍入
- .NET Core c#使用SkiaSharp压缩图片
- C#复制文件到指定文件夹
- c#读取pdf里的表格
- c# HttpClient下载图片
- c#使用HtmlAgilityPack编辑html并保存
- c#获取文件夹所有文件列表
- c# int数值转enum枚举
文章评论
评论问答