Ejemplo n.º 1
0
        /// <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));
        }
Ejemplo n.º 2
0
 public static Exception Unwrap <TException>(this Exception ex)
     where TException : Exception
 {
     return(ex.Unwrap(Types.Of <TException>()));
 }
Ejemplo n.º 3
0
 /// <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));
 }
Ejemplo n.º 4
0
 /// <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));
 }
Ejemplo n.º 5
0
 /// <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));
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Get description
 /// 获取描述
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <returns></returns>
 public static string GetDescription <T>()
 {
     return(GetDescription(Types.Of <T>()));
 }