private static void Main(string[] args) { Console.WriteLine("Hello Builder!"); // if you want to build a simple HTML paragraph using StringBuilder var hello = "hello"; var sb = new StringBuilder(); sb.Append("<p>"); sb.Append(hello); sb.Append("</p>"); WriteLine(sb); // now I want an HTML list with 2 words in it var words = new[] { "hello", "world" }; sb.Clear(); sb.Append("<ul>"); foreach (var word in words) { sb.AppendFormat("<li>{0}</li>", word); } sb.Append("</ul>"); WriteLine(sb); // ordinary non-fluent builder var builder = new HtmlBuilder("ul"); builder.AddChild("li", "hello"); builder.AddChild("li", "world"); WriteLine(builder.ToString()); // fluent builder sb.Clear(); builder.Clear(); // disengage builder from the object it's building, then... builder.AddChildFluent("li", "hello").AddChildFluent("li", "world"); WriteLine(builder); }
static void Main(string[] args) { #region Creation Builder //Simple HTML Paragraph using StringBuilder var hello = "hello"; var sb = new StringBuilder(); sb.Append("<p>"); sb.Append(hello); sb.Append("</p>"); Console.WriteLine(sb); Console.WriteLine(); //Html List With 2 words var words = new[] { "Hello", "World" }; sb.Clear(); sb.Append("<ul>"); foreach (var word in words) { sb.Append($"<li>{word}</li>"); } sb.Append("</ul>"); Console.WriteLine(sb); Console.WriteLine(); //ordinary non fluent builder var builder = new HtmlBuilder("ul"); builder.AddChild("li", "hello"); builder.AddChild("li", "world"); Console.WriteLine(builder.ToString()); //fluent builder sb.Clear(); builder.Clear(); builder.AddChildFluent("li", "hello").AddChildFluent("li", "world"); Console.WriteLine(builder); #endregion Console.ReadKey(); }