/// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <param name="key"></param> /// <param name="defaultValue"></param> /// <returns></returns> public static T GetEnumByKey <T>(string key, T defaultValue) { T item = defaultValue; EnumItem enumItem = null; try { Type enumType = typeof(T); EnumItemCollection enumItems = EnumItemsCache.Get(enumType); enumItems.TryGet(key, out enumItem); if (enumItem != null) { item = (T)Enum.ToObject(enumType, enumItem.Value); } } catch { item = defaultValue; } return(item); }
/// <summary> /// /// </summary> /// <param name="enumType"></param> /// <returns></returns> public static EnumItemCollection GetEnumItems(Type enumType) { return(EnumItemsCache.Get(enumType)); }