示例#1
0
        /// <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);