Exemplo n.º 1
0
        /// <summary>
        /// GetEnumValueByTag 根据描述Tag获取对应的枚举值
        /// </summary>
        public static object GetEnumValueByTag(Type enumType, object tag)
        {
            IList <EnumDescription> list = EnumDescription.DoGetFieldTexts(enumType);

            if (list == null)
            {
                return(null);
            }

            return(CollectionConverter.ConvertFirstSpecification <EnumDescription, object>(list, delegate(EnumDescription des) { return des.enumValue; }, delegate(EnumDescription des) { return des.tag.ToString() == tag.ToString(); }));
        }
Exemplo n.º 2
0
        /// <summary>
        /// GetFieldTag 获得指定枚举值的Tag。
        /// </summary>
        /// <param name="enumValue"></param>
        /// <returns></returns>
        public static object GetFieldTag(object enumValue)
        {
            IList <EnumDescription> list = EnumDescription.DoGetFieldTexts(enumValue.GetType());

            if (list == null)
            {
                return(null);
            }

            return(CollectionConverter.ConvertFirstSpecification <EnumDescription, object>(list, delegate(EnumDescription ed) { return ed.Tag; }, delegate(EnumDescription ed) { return ed.enumValue.ToString() == enumValue.ToString(); }));
        }