public override List <string> Generate(int indent = 0) { List <string> result = new List <string>(); OuterUsing.ForEach(x => result.Add((!string.IsNullOrWhiteSpace(x) ? "using " + x + ";" : "").Ind(indent))); if (OuterUsing.Any()) { result.Add(""); } result.Add(("namespace " + Name).Ind(indent) + Environment.NewLine + "{".Ind(indent)); InnerUsing.ForEach(x => result.Add((!string.IsNullOrWhiteSpace(x) ? "using " + x + ";" : "").Ind(indent + 1))); if (InnerUsing.Any()) { result.Add("".Ind(indent)); } NestedValues.ForEach(x => { result.AddRange(x.Generate(indent + 1)); result.Add(""); }); if (string.IsNullOrWhiteSpace(result.Last())) { result.RemoveAt(result.Count - 1); } result.Add("}".Ind(indent)); return(result); }
public override List <string> Generate(int indent) { List <string> list = new List <string>(); if (!string.IsNullOrEmpty(Summary)) { list.Add("///<summary> {0} </summary>".R(Summary).Ind(indent)); } Attributes.ForEach(a => list.Add("[{0}]".R(a).Ind(indent))); List <string> baseTypes = new List <string>(); if (!string.IsNullOrEmpty(BaseClass)) { baseTypes.Add(BaseClass); } baseTypes.AddRange(Interfaces); list.Add("{2}{3} class {0}{1}".R(Name, (!baseTypes.Any() ? "" : " : " + string.Join(", ", baseTypes)), Access, IsStatic ? "static " : "").Ind(indent)); list.Add("{".Ind(indent)); Fields.ToList().ForEach(x => { list.AddRange(x.Generate(indent + 1)); }); Properties.ToList().ForEach(x => { list.AddRange(x.Generate(indent + 1)); }); Methods.ToList().ForEach(x => { list.AddRange(x.Generate(indent + 1)); }); foreach (var cls in NestedValues.Where(x => x is ClassInfo)) { list.AddRange(cls.Generate(indent + 1)); } if (string.IsNullOrWhiteSpace(list.Last())) { list.RemoveAt(list.Count - 1); } list.Add("}".Ind(indent)); return(list); }
public void AddProperty(PropertyInfo property) { NestedValues.Add(property); }
public void AddField(FieldInfo field) { NestedValues.Add(field); }
public void AddMethod(MethodInfo method) { NestedValues.Add(method); }