public class EnumUtil
{
/// <summary> /// convert obj to Enum
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="obj"></param>
/// <returns></returns>
public static T Obj2Enum<T>(object obj)
{
if (obj != null)
{
if (!string.IsNullOrEmpty(obj.ToString().Trim()))
{
try
{
T t = (T)Enum.Parse(typeof(T), obj.ToString().Trim());
return t;
}
catch (Exception ex)
{
}
}
}
return default(T);
}
/// <summary> /// Convert Enum to DataTable
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public static DataTable Enum2Dt<T>()
{
Type t = typeof(T);
DataTable dt = new DataTable();
dt.Columns.Add("EnumValue");
dt.Columns.Add("EnumText");
foreach (int obj in Enum.GetValues(t))
{
DataRow dr = dt.NewRow();
dr["EnumValue"] = obj.ToString();
dr["EnumText"] = Enum.GetName(t, obj);
dt.Rows.Add(dr);
}
return dt;
}
/// <summary> /// get enum value
/// </summary>
/// <param name="v"></param>
/// <returns></returns>
public static int GetEnumValue(Enum v)
{
return v.GetHashCode();
}
public static string GetEnumString<T>(object obj)
{
if (obj==null)
{
return null;
}
T t = (T)Enum.Parse(typeof(T), obj.ToString().Trim());
return t.ToString();
}
/// <summary>
/// zlh 20111119
/// get enum name
/// </summary>
/// <param name="v"></param>
/// <returns></returns>
public static string GetEnumString(Enum v)
{
return v.ToString();
}
/// <summary> /// convert enum to list
/// </summary>
/// <param name="type"></param>
/// <returns></returns>
public static IList<EnumEntity> Enum2List<T>()
{
IList<EnumEntity> list = new List<EnumEntity>();
foreach (int obj in Enum.GetValues(typeof(T)))
{
EnumEntity item = new EnumEntity();
item.EnumValue= obj; ;
item.EnumText = Enum.GetName(typeof(T), obj);
list.Add(item);
}
return list;
}
}
/// <summary> /// key value
/// </summary>
public class EnumEntity
{
public string EnumText { get; set; }
public int EnumValue { get; set; }
}