Exemple #1
0
        /// <summary>
        /// 通过一个字段属性创建一个对枚举项描述的实例
        /// </summary>
        /// <param name="fi">字段属性实例</param>
        /// <param name="enumType">枚举型</param>
        /// <returns>描述枚举项的实例</returns>
        /// <remarks>通过一个字段属性值创建一个枚举项描述的实例
        /// <seealso cref="MCS.Library.Core.EnumItemDescriptionAttribute"/>
        /// </remarks>
        internal static EnumItemDescription CreateFromFieldInfo(FieldInfo fi, Type enumType)
        {
            EnumItemDescription eid = new EnumItemDescription();

            eid.Name      = fi.Name;
            eid.EnumValue = (int)fi.GetValue(enumType);
            eid.SortId    = eid.EnumValue;

            eid.FillDescriptionAttributeInfo(AttributeHelper.GetCustomAttribute <EnumItemDescriptionAttribute>(fi));

            return(eid);
        }
Exemple #2
0
 /// <summary>
 /// 获得枚举项附加属性的描述信息属性
 /// </summary>
 /// <param name="enumItem">枚举项</param>
 /// <returns>描述信息属性,若该附加属性没有定义,则返回null</returns>
 /// <remarks>获得枚举项的附加属性,若该附加属性没有定义,则返回null
 /// <code source="..\Framework\TestProjects\DeluxeWorks.Library.Test\Core\EnumItemDescriptionAttributeTest.cs" region = "GetAttributeTest" lang="cs" title="得到枚举项的描述信息属性" />
 /// </remarks>
 public static EnumItemDescriptionAttribute GetAttribute(System.Enum enumItem)
 {
     return(AttributeHelper.GetCustomAttribute <EnumItemDescriptionAttribute>(enumItem.GetType().GetField(enumItem.ToString())));
 }