C#列挙タイプの取得汎用ツールクラスEnumTool

1194 ワード

1、列挙された値が空であるか、列挙されていないとエラーが報告されることがあります.
2、値によって名前を取得してもエラーが発生する場合があります.
コードは次のとおりです.
/// 
    ///   
    /// 
    public enum Gender
    {
          = 1,
          = 2,
    }
      :
  public class EnumTool 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.GetKey(値);
2、名前で値を取る:EnumTool.GetValue(名前);