Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        /// <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));
        }
Beispiel #4
0
        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));
        }
Beispiel #5
0
        /// <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));
        }