/// <summary> /// 初始化<see cref="EnumDescContext"/>实例 /// </summary> /// <param name="tableHtml">数据表HTML</param> public EnumDescContext(string enuMtml) { this._enumHtml = enuMtml; //默认初始化,避免为null时操作 _enumDesc = new EnumDesc(); }
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); } } }
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)); }
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; }