Пример #1
0
        public static String GetValue(this Enum e)
        {
            if (e == null)
            {
                return(null);
            }

            MemberInfo[] memberInfo = e.GetType().GetMember(e.ToString());
            if (memberInfo.Length == 0)
            {
                return(null);
            }

            EnumModelAttribute attr = memberInfo[0].GetCustomAttributes(false).OfType <EnumModelAttribute>().FirstOrDefault();

            if (attr != null && attr.Value != null)
            {
                return(attr.Value);
            }

            return(Convert.ToInt32(e).ToString());
        }
Пример #2
0
        public static Int32 GetPosition(this Enum e)
        {
            if (e == null)
            {
                return(-1);
            }

            MemberInfo[] memberInfo = e.GetType().GetMember(e.ToString());
            if (memberInfo.Length == 0)
            {
                return(-1);
            }

            EnumModelAttribute attr = memberInfo[0].GetCustomAttributes(false).OfType <EnumModelAttribute>().FirstOrDefault();

            if (attr != null && attr.Name != null)
            {
                return(attr.Position);
            }

            return(-1);
        }