public CsGetterSetter AddGetterLine(string line, params string[] lines) { GetterLines.Add(line); foreach (string item in lines) { GetterLines.Add(item); } return(this); }
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()); }