Ejemplo n.º 1
0
 public CsGetterSetter AddGetterLine(string line, params string[] lines)
 {
     GetterLines.Add(line);
     foreach (string item in lines)
     {
         GetterLines.Add(item);
     }
     return(this);
 }
Ejemplo n.º 2
0
        public override string ToString()
        {
            StringBuilder csGetterSetter = new StringBuilder();

            if (Getter == CsAccessLevel.Public && Setter == CsAccessLevel.Default && GetterLines.Count == 1)
            {
                csGetterSetter.Append($" => {GetterLines[0]}");
            }
            else if (Getter != CsAccessLevel.Default || Setter != CsAccessLevel.Default)
            {
                bool condition = GetterLines.Count > 0 || SetterLines.Count > 0;
                csGetterSetter.Append(condition ? "\n{\n\t" : " { ");
                if (Getter != CsAccessLevel.Default)
                {
                    csGetterSetter.Append(GetAccessLevel("get", Getter));
                    if (GetterLines.Count == 1)
                    {
                        csGetterSetter.Append($" => {GetterLines[0].Replace("return ", string.Empty)}");
                    }
                    else if (GetterLines.Count > 1)
                    {
                        csGetterSetter.Append($"\n\t{{\n{string.Join("\n", GetterLines.Select(line => $"\t\t{line}"))}\n\t}}");
                    }
                    else
                    {
                        csGetterSetter.Append(";");
                    }
                }
                if (Setter != CsAccessLevel.Default)
                {
                    if (SetterLines.Count == 1)
                    {
                        if (Getter != CsAccessLevel.Default)
                        {
                            csGetterSetter.Append("\n\t");
                        }
                        csGetterSetter.Append(GetAccessLevel("set", Setter));
                        csGetterSetter.Append($" => {SetterLines[0]}");
                    }
                    else if (SetterLines.Count > 1)
                    {
                        if (Getter != CsAccessLevel.Default)
                        {
                            csGetterSetter.Append("\n\t");
                        }
                        csGetterSetter.Append(GetAccessLevel("set", Setter));
                        csGetterSetter.Append(
                            $"\n\t{{\n{string.Join("\n", SetterLines.Select(line => $"\t\t{line}"))}\n\t}}");
                    }
                    else
                    {
                        if (Getter != CsAccessLevel.Default)
                        {
                            csGetterSetter.Append(GetterLines.Count > 0 ? "\n\t" : " ");
                        }
                        csGetterSetter.Append($"{GetAccessLevel("set", Setter)};");
                    }
                }
                csGetterSetter.Append(condition ? "\n}" : " }");
            }
            return(csGetterSetter.ToString());
        }