/// <summary>
        /// 初始化<see cref="EnumDescContext"/>实例
        /// </summary>
        /// <param name="tableHtml">数据表HTML</param>
        public EnumDescContext(string enuMtml)
        {
            this._enumHtml = enuMtml;

            //默认初始化,避免为null时操作
            _enumDesc = new EnumDesc();
        }
예제 #2
0
    private static void Cache(System.Type type)
    {
        var dict = new Dictionary <string, List <string> >();

        cache.Add(type, dict);
        var fields = type.GetFields();

        foreach (var field in fields)
        {
            var objs = field.GetCustomAttributes(typeof(EnumDesc), true);
            if (objs.Length > 0)
            {
                EnumDesc      pDesc    = (EnumDesc)objs[0];
                List <string> descList = new List <string>(pDesc.DescList.ToArray());
                dict.Add(field.Name, descList);
            }
        }
    }
예제 #3
0
        public static string ToDescription(this Enum value)
        {
            if (value == null)
            {
                return(string.Empty);
            }
            Type     t = value.GetType();
            EnumDesc desc;

            if (s_Dictionary.TryGetValue(t, out desc) == false)
            {
                lock (s_SyncObj)
                {
                    if (s_Dictionary.TryGetValue(t, out desc) == false)
                    {
                        desc = new EnumDesc(t);
                        s_Dictionary.Add(t, desc);
                    }
                }
            }
            return(desc.GetDesc((int)(object)value));
        }
예제 #4
0
 static void Main(string[] args)
 {
     var desc = EnumDesc.GetDesc(APIExceptionType.非法EAN请求);
 }
 /// <summary>
 /// 初始化<see cref="EnumClassResolveContext"/>实例
 /// </summary>
 /// <param name="enumTemplate">枚举类文件模板</param>
 /// <param name="enumDesc">枚举描述对象</param>
 public EnumClassResolveContext(string enumTemplate, EnumDesc enumDesc)
 {
     this._outputEnumClassContent = enumTemplate;
     this._enumDesc = enumDesc;
 }