public override void Interpret(EnumClassResolveContext context) { if (context == null || context.EnumDesc == null) { return; } Regex regex = new Regex(@"<(?<foreach>ForEach_Options)>(?<template>((?!<separator>).|\n)*)<separator>(?<separator>((?!</separator>).|\n)*)</separator>[^<]*</\k<foreach>>", RegexOptions.IgnoreCase | RegexOptions.Compiled); string text = context.OutputEnumClassContent; MatchCollection mc = regex.Matches(text); //遍历处理匹配结果的解析 foreach (Match m in mc) { //获取当前匹配结果中的属性模板 var propertyTemplate = m.Groups["template"].Value; //分隔器 var separator = m.Groups["separator"].Value; //获取当前匹配结果解析后的code内容 var data = GetTemplateReplaceAfterChars(propertyTemplate, separator, context.EnumDesc.Options); text = text.Replace(m.Value, data); } //枚举对象输出内容 context.OutputEnumClassContent = text; }
public override void Interpret(EnumClassResolveContext context) { if (context == null || context.EnumDesc == null) { return; } Regex regex = new Regex(@"\{Enum_Description\}", RegexOptions.IgnoreCase | RegexOptions.Compiled); string text = context.OutputEnumClassContent;; context.OutputEnumClassContent = regex.Replace(text, context.EnumDesc.Description); }