c# 枚举返回字符串操作

本文介绍了一种在C#中为枚举项添加描述的方法,并通过一个具体示例展示了如何实现这一功能。该方法利用反射获取枚举成员上的自定义属性,从而实现了将描述信息附加到枚举值上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//内部类
public static class EnumHelper { public static string GetDescription(Enum value) { if (value == null) { throw new ArgumentException("value"); } string description = value.ToString(); var fieldInfo = value.GetType().GetField(description); var attributes = (EnumDescriptionAttribute[]) fieldInfo.GetCustomAttributes(typeof (EnumDescriptionAttribute), false); if (attributes != null && attributes.Length > 0) { description = attributes[0].Description; } return description; } }
// 枚举定义
// 调用方法
String strKufen = EnuHelper.GetDescription(MessageInfo.Send);  public enum MessageInfo { [EnumDescription("Send")] Send, [EnumDescription("Received")] Received } [AttributeUsage(AttributeTargets.Field, AllowMultiple = false)] public sealed class EnumDescriptionAttribute : Attribute { private string description; public string Description { get { return description; } } public EnumDescriptionAttribute(string description) : base() { this.description = description; } }

 

转载于:https://www.cnblogs.com/northeastTycoon/p/5703583.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值