/// <summary> /// 获取枚举成员模板替换后的结果字符串 /// </summary> /// <param name="optionTemplate">枚举成员模板</param> /// <param name="seprator">分隔器</param> /// <param name="optionList">枚举成员集合</param> /// <returns></returns> private string GetTemplateReplaceAfterChars(string optionTemplate, string seprator, List <EnumOption> optionList) { //定义一个存储枚举成员code的变量 StringBuilder sb = new StringBuilder(); //循环处理每个枚举成员信息 foreach (var option in optionList) { EnumOptionResolveContext context = new EnumOptionResolveContext(option, optionTemplate); List <EnumClassOptionExpression> expList = new List <EnumClassOptionExpression>(); expList.Add(new EnumOptionNameExpression()); //枚举成员名解释器 expList.Add(new EnumOptionDescriptionExpression()); //枚举成员描述解释器 expList.Add(new EnumOptionAliasExpression()); //枚举成员别名解释器 expList.Add(new EnumOptionValueExpression()); //枚举成员常量值解释器 foreach (var exp in expList) { exp.Interpret(context); } if (sb.Length > 0) { sb.Append(seprator); } sb.Append(context.Output); } return(sb.ToString()); }
public abstract void Interpret(EnumOptionResolveContext context);