C#枚举类型的获取泛型工具类EnumTool

1、有时候遇到枚举的值为空或者枚举中没有该值就会报错。

2、有时候根据值获取名称也会遇到报错的情况。

代码如下:

/// <summary>
    /// 性别
    /// </summary>
    public enum Gender
    {
        男 = 1,
        女 = 2,
    }
 工具类如下:
  public class EnumTool<T> where T: Enum
    {
        public static int GetValue(string name)
        {
            try
            {
                if (Enum.Parse(typeof(T), name) != null)
                    return (int)Enum.Parse(typeof(T), name);
                return 0;
            }
            catch (Exception)
            {
                return 0;
            }

        }
        public static string GetKey(object value)
        {
            try
            {
                if (value!=null&&!string.IsNullOrWhiteSpace(value.ToString())&&value.ToString()!="0")
                {
                    return Enum.Parse(typeof(T), value.ToString()).ToString();
                }
                return "";
            }
            catch (Exception)
            {
                return "";
            }

        }
    }

3、使用的时候:

     1、通过值获取名: EnumTool<Gender>.GetKey(值);

    2、通过名获取值:EnumTool<Gender>.GetValue(名称);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值