C# ENUM 字符串输出功能

public enum MeasurementType { Each, [DisplayText("Lineal Metres")] LinealMetre, [DisplayText("Square Metres")] SquareMetre, [DisplayText("Cubic Metres")] CubicMetre, [DisplayText("Per 1000")] Per1000, Other } public class DisplayText : Attribute { public DisplayText(string Text) { this.text = Text; } private string text; public string Text { get { return text; } set { text = value; } } }

Then, used an extension method like this:

    public static string ToDescription(this Enum en) { Type type = en.GetType(); MemberInfo[] memInfo = type.GetMember(en.ToString()); if (memInfo != null && memInfo.Length > 0) { object[] attrs = memInfo[0].GetCustomAttributes( typeof(DisplayText), false); if (attrs != null && attrs.Length > 0) return ((DisplayText)attrs[0]).Text; } return en.ToString(); }

You can then just call

myEnum.ToDescription()

转载于:https://www.cnblogs.com/xpvincent/p/10015718.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值