using System; using System.IO; using System.Text; public class IndentedWriter { private TextWriter myTextWriter; private bool myPrintFlag; private int myIndent; public TextWriter TextWriter { get { return myTextWriter; } set { myTextWriter = value; } } public bool Print { get { return myPrintFlag; } set { myPrintFlag = value; } } public IndentedWriter() { myTextWriter = Console.Out; myPrintFlag = true; myIndent = 0; } public void PushIndent() { myIndent += 2; } public void PopIndent() { if (myIndent > 0) { myIndent -= 2; } } public void WriteLine() { WriteLine(""); } public void WriteLine(string format, params object[] arg) { WriteLine(String.Format(format, arg)); } public void WriteLine(string message) { if (myPrintFlag) { StringBuilder sb = new StringBuilder(); int _Vb_t_i4_0 = myIndent - 1; for (int i = 0; i <= _Vb_t_i4_0; i++) { sb.Append(' '); } sb.Append(message); myTextWriter.WriteLine(sb.ToString()); } } }