コード例 #1
0
ファイル: NamespaceInfo.cs プロジェクト: Getequ/B4Refactoring
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public void AddProperty(PropertyInfo property)
 {
     NestedValues.Add(property);
 }
コード例 #4
0
 public void AddField(FieldInfo field)
 {
     NestedValues.Add(field);
 }
コード例 #5
0
 public void AddMethod(MethodInfo method)
 {
     NestedValues.Add(method);
 }