/// <summary> /// To string. /// </summary> /// <param name="context">Context.</param> /// <returns>Text.</returns> public string ToString(BuildingContext context) { var next = context.ChangeIndent(context.Indent + Indent); var code = new string[_core.Count]; for (int i = 0; i < code.Length; i++) { code[i] = _core[i].ToString(next).TrimEnd(); } return string.Join(Separator + Environment.NewLine, code); }
string BuildSingleLine(BuildingContext context, BuildingContext firstLineContext) { var texts = new string[_core.Count]; texts[0] = _core[0].ToString(firstLineContext); var nonIndent = context.ChangeIndent(0); for (int i = 1; i < _core.Count; i++) { texts[i] = _core[i].ToString(nonIndent); } return(string.Join(Separator, texts)); }
/// <summary> /// To string. /// </summary> /// <param name="context">Context.</param> /// <returns>Text.</returns> public string ToString(BuildingContext context) { var next = context.ChangeIndent(context.Indent + Indent); var code = new string[_core.Count]; for (int i = 0; i < code.Length; i++) { code[i] = _core[i].ToString(next).TrimEnd(); } return(string.Join(Separator + Environment.NewLine, code)); }
string BuildMultiLine(BuildingContext firstLineContext) { //if AddIndentNewLine is true, add Indent other than the first line. var nextLineContext = AddIndentNewLine ? firstLineContext.ChangeIndent(firstLineContext.Indent + 1) : firstLineContext; var texts = new string[_core.Count]; texts[0] = _core[0].ToString(firstLineContext); for (int i = 1; i < _core.Count; i++) { texts[i] = _core[i].ToString(nextLineContext).TrimEnd(); } var sep = Separator.TrimEnd(); return(string.Join(sep + Environment.NewLine, texts)); }
/// <summary> /// To string. /// </summary> /// <param name="context">Context.</param> /// <returns>Text.</returns> public string ToString(BuildingContext context) { var firstLineContext = context.ChangeIndent(context.Indent + Indent); if (_core.Count == 0) { return(string.Empty); } if (_core.Count == 1) { return(_core[0].ToString(firstLineContext)); } if (IsSingleLine(context) || !EnableChangeLine) { return(BuildSingleLine(context, firstLineContext)); } return(BuildMultiLine(firstLineContext)); }