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(名称);