/// <summary> /// 获取实例 /// </summary> /// <typeparam name="T">枚举</typeparam> /// <param name="member"> /// 成员名或值, /// 范例:Enum1枚举有成员A=0,则传入"A"或"0"获取 Enum1.A /// </param> public static T Of <T>(object member) { var value = Conversions.ObjectConversion.ToString(member); if (string.IsNullOrWhiteSpace(value)) { throw new ArgumentNullException(nameof(member)); } return((T)Enum.Parse(Types.Of <T>(), value, true)); }
public static Exception Unwrap <TException>(this Exception ex) where TException : Exception { return(ex.Unwrap(Types.Of <TException>())); }
/// <summary> /// 获取成员值 /// </summary> /// <typeparam name="T">枚举</typeparam> /// <param name="member"> /// 成员名、值、实例均可, /// 范例:Enum1枚举有成员A=0,可传入"A"、0、Enum1.A,获取值0 /// </param> public static int ValueOf <T>(object member) { return(ValueOf(Types.Of <T>(), member)); }
/// <summary> /// 获取成员名 /// </summary> /// <typeparam name="T">枚举</typeparam> /// <param name="member"> /// 成员名、值、实例均可, /// 范例:Enum1枚举有成员A=0,则传入Enum1.A或0,获取成员名"A" /// </param> public static string NameOf <T>(object member) { return(NameOf(Types.Of <T>(), member)); }
/// <summary> /// Get description /// 获取描述 /// </summary> /// <typeparam name="T">类型</typeparam> /// <param name="memberName">成员名称</param> public static string GetDescription <T>(string memberName) { return(GetDescription(Types.Of <T>(), memberName)); }
/// <summary> /// Get description /// 获取描述 /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public static string GetDescription <T>() { return(GetDescription(Types.Of <T>())); }