private static void EnumCpp(StringBuilder code, EnumConfig config) { code.Append($@" /** * @brief {ToRemString(config.Caption)}ö¾Ù */ enum class {config.Name}Classify {{"); foreach (var item in config.Items) { code.Append($@" //{item.Caption}"); int vl; if (int.TryParse(item.Value, out vl)) { code.Append($@" {item.Name} = 0x{vl:X},"); } else { code.Append($@" {item.Name} = item.Value,"); } } code.Append(@" };"); }
private void Foreach(Action <EnumConfig> action, EnumConfig enumConfig) { if (enumConfig != null) { action(enumConfig); } }
/// <summary> /// 生成枚举 /// </summary> public static void TypeDefaultScript(StringBuilder code, EnumConfig enumc) { code.Append($@" /** * {enumc.Caption} */ var {enumc.Name.ToLWord()} = ["); bool isFirst = true; foreach (var item in enumc.Items) { if (isFirst) { isFirst = false; } else { code.Append(','); } code.Append($@" {{ value: {item.Value}, text: '{item.Caption}' }}"); } code.Append($@" ]; /** * {enumc.Caption}之表格格式化方法 */ function {enumc.Name.ToLWord()}Format(value) {{ return arrayFormat(value, {enumc.Name.ToLWord()}); }} "); }
/// <summary> /// 生成枚举 /// </summary> public static void EnumName(StringBuilder code, EnumConfig enumc, List <EnumConfig> doed) { if (doed.Contains(enumc)) { return; } doed.Add(enumc); code.Append($@" /// <summary> /// {enumc.Caption}名称转换 /// </summary> public static string ToCaption(this {enumc.Name} value) {{ switch(value) {{"); foreach (var item in enumc.Items) { code.Append($@" case {enumc.Name}.{item.Name}: return ""{item.Caption}"";"); } code.Append($@" default: return ""{enumc.Caption}(未知)""; }} }} "); }
public void Configuration(IAppBuilder app) { ConfigureAuth(app); ParamaterConfig.Initialize(); EnumConfig.Start(); }
private static void ForeachByCurrent(Action <EnumConfig> action, EnumConfig enumConfig) { if (enumConfig != null) { action(enumConfig); } }
/// <summary> /// 枚举编辑的方法(UI后期实现) /// </summary> /// <param name="enumConfig"></param> /// <returns></returns> private static void EditEnumCommand(EnumConfig enumConfig) { var window = new EnumEdit(); var vm = (EnumEditViewModel)window.DataContext; vm.Model.Config = enumConfig; window.ShowDialog(); }
void IPolicyConfigControl.ReadFromConfig(PolicyConfig config) { EnumConfig controlConfig = config.EnumConfig; Visibilities.Bind(controlConfig.VisibilitiesToCheck); SummaryDocumentationTagCheckBox.Checked = controlConfig.SummaryDocumentationRequired; }
void IPolicyConfigControl.WriteToConfig(PolicyConfig config) { EnumConfig controlConfig = config.EnumConfig; controlConfig.VisibilitiesToCheck = Visibilities.GetVisibilites(); controlConfig.SummaryDocumentationRequired = SummaryDocumentationTagCheckBox.Checked; }
public PolicyConfig() { ClassConfig = new ClassConfig(); StructConfig = new ClassConfig(); InterfaceConfig = new ClassConfig(); DelegateConfig = new DelegateConfig(); MethodConfig = new MethodConfig(); EventConfig = new EventConfig(); FieldConfig = new FieldConfig(); PropertyConfig = new PropertyConfig(); EnumConfig = new EnumConfig(); }
protected override void ProcessInternal(INamedTypeSymbol symbol, PolicyConfig policyConfig, IViolationReporter violationReporter) { EnumConfig enumConfig = policyConfig.EnumConfig; if (!AnyVisibilityMatches(symbol.DeclaredAccessibility, enumConfig.VisibilitiesToCheck)) { return; } IDocumentationComment classDocumentation = symbol.GetDocumentationComment(); if (enumConfig.SummaryDocumentationRequired && string.IsNullOrWhiteSpace(classDocumentation.SummaryText)) { violationReporter.Report(ViolationFromSymbol(ViolationMessage.MissingSummaryDocumentation, symbol)); } }
/// <summary> /// 根据系统配置的配置编号获取对应的配置信息 /// </summary> /// <param name="id"></param> /// <returns></returns> public EDRS.Model.XY_DZJZ_XTPZ GetConfigById(EnumConfig econfig) { string where = string.Empty; object[] values = new object[1]; where = " and CONFIGID=:CONFIGID and SYSTEMMARK=1"; values[0] = (int)econfig; List <EDRS.Model.XY_DZJZ_XTPZ> modelList = GetModelList(where, values); if (modelList != null && modelList.Count > 0) { return(modelList[0]); } return(null); }
public PolicyConfig LoadDefaults() { ClassConfig.LoadDefaults(); StructConfig.LoadDefaults(); InterfaceConfig.LoadDefaults(); DelegateConfig.LoadDefaults(); MethodConfig.LoadDefaults(); EventConfig.LoadDefaults(); FieldConfig.LoadDefaults(); PropertyConfig.LoadDefaults(); EnumConfig.LoadDefaults(); SkipMerges = true; SkipBranches = true; SkipRollbacks = true; SkipUndeletes = true; return(this); }
public void ToggleRuleActivation(bool activate, bool recursive = true) { SkipMerges = activate; SkipBranches = activate; SkipRollbacks = activate; SkipUndeletes = activate; if (!recursive) { return; } ClassConfig.ToggleRuleActivation(activate); StructConfig.ToggleRuleActivation(activate); InterfaceConfig.ToggleRuleActivation(activate); DelegateConfig.ToggleRuleActivation(activate); MethodConfig.ToggleRuleActivation(activate); EventConfig.ToggleRuleActivation(activate); FieldConfig.ToggleRuleActivation(activate); PropertyConfig.ToggleRuleActivation(activate); EnumConfig.ToggleRuleActivation(activate); }
private static void EnumCode(StringBuilder code, EnumConfig config) { code.Append($@" /// <summary> /// {ToRemString(config.Caption)} /// </summary> /// <remark> /// {ToRemString(config.Description)} /// </remark>"); if (config.IsFlagEnum) { code.Append(@" [Flags]"); } code.Append($@" public enum {config.Name} {{"); foreach (var item in config.Items) { code.Append($@" /// <summary> /// {ToRemString(item.Caption)} /// </summary>"); int vl; if (int.TryParse(item.Value, out vl)) { code.Append($@" {item.Name} = 0x{vl:X},"); } else { code.Append($@" {item.Name} = item.Value,"); } } code.Append(@" }"); }
private void ReadEnum(Type type) { EnumConfig config = _project.Enums.FirstOrDefault(p => p.Name == type.Name) ?? new EnumConfig { Name = type.Name }; _project.Add(config); GetInfo(config, type); foreach (var field in type.GetFields(BindingFlags.Static | BindingFlags.Public)) { var col = config.Items.FirstOrDefault(p => p.Name == field.Name); if (col == null) { config.Add(col = new EnumItem { Name = field.Name, Value = Convert.ToInt64(field.GetValue(null)).ToString() }); } GetInfo(col, type, field); } }
private void SaveEnum(EnumConfig type, string path, bool checkState = true) { var filename = Path.Combine(path, type.Name + ".enm"); if (checkState && !CheckCanSave(type, filename)) { return; } DeleteOldFile(type, filename, false); if (type.IsDelete) { Solution.Enums.Remove(type); } else { foreach (var field in type.Items.Where(p => p.IsDelete).ToArray()) { type.Items.Remove(field); } } Serializer(filename, type); }
public void Configuration(IAppBuilder app) { EnumConfig.Start(); }
public static void CheckEnum(PropertyConfig column) { var line = column.Description?.Trim(CoderBase.NoneLanguageChar) ?? ""; StringBuilder sb = new StringBuilder(); StringBuilder caption = new StringBuilder(); bool preIsNumber = false; bool startEnum = false; EnumConfig ec = new EnumConfig { Name = column.Parent.Name.ToUWord() + column.Name.ToUWord(), Description = column.Description, Caption = column.Caption, Items = new ConfigCollection <EnumItem>() }; EnumItem ei = new EnumItem(); foreach (var c in line) { if (c >= '0' && c <= '9') { if (!preIsNumber) { if (!startEnum) { caption.Append(sb); } else if (sb.Length > 0) { new List <string>().Add(sb.ToString()); ei.Caption = sb.ToString(); } sb = new StringBuilder(); startEnum = true; } preIsNumber = true; } else { if (preIsNumber) { if (sb.Length > 0) { ei = new EnumItem { Value = sb.ToString() }; ec.Items.Add(ei); sb = new StringBuilder(); } } preIsNumber = false; } sb.Append(c); } if (!startEnum) { return; } if (sb.Length > 0) { if (preIsNumber) { ec.Items.Add(new EnumItem { Value = sb.ToString() }); } else { ei.Caption = sb.ToString(); } } if (ec.Items.Count > 0) { ec.LinkField = column.Key; column.EnumConfig = ec; column.CustomType = ec.Name; column.Description = line; foreach (var item in ec.Items) { if (string.IsNullOrEmpty(item.Caption)) { column.EnumConfig = null; column.CustomType = null; return; } var arr = item.Caption.Trim(CoderBase.NoneNameChar).Split(CoderBase.NoneNameChar, StringSplitOptions.RemoveEmptyEntries); if (arr.Length == 0) { column.EnumConfig = null; column.CustomType = null; return; } item.Caption = arr[0]; item.Name = BaiduFanYi.FanYiWord(item.Caption.MulitReplace2("", "表示")); } if (caption.Length > 0) { column.Caption = caption.ToString(); } } else { column.EnumConfig = null; column.CustomType = null; } }
private void Foreach(Func <EnumConfig, bool> condition, Action <EnumConfig> action, EnumConfig enumConfig) { if (enumConfig != null && condition(enumConfig)) { action(enumConfig); } }
private static void ForeachByCurrent(Func <EnumConfig, bool> condition, Action <EnumConfig> action, EnumConfig enumConfig) { if (enumConfig != null && condition(enumConfig)) { action(enumConfig); } }