public static void WriteTrace( TextWriter writer, ITrace trace, TraceLevel level = TraceLevel.Verbose, AsciiType asciiType = AsciiType.Default) { if (writer == null) { throw new ArgumentNullException(nameof(writer)); } if (trace == null) { throw new ArgumentNullException(nameof(trace)); } if ((int)trace.Level > (int)level) { return; } AsciiTreeCharacters asciiTreeCharacter = asciiTreeCharactersMap[asciiType]; AsciiTreeIndents asciiTreeIndents = asciiTreeIndentsMap[asciiType]; writer.WriteLine(asciiTreeCharacter.Root); WriteTraceRecursive(writer, trace, level, asciiTreeIndents, isLastChild: true); }
public static AsciiTreeIndents Create(AsciiTreeCharacters asciiTreeCharacters) { return(new AsciiTreeIndents( child: new string( new char[] { asciiTreeCharacters.Child, asciiTreeCharacters.Dash, asciiTreeCharacters.Dash, asciiTreeCharacters.Blank }), parent: new string( new char[] { asciiTreeCharacters.Parent, asciiTreeCharacters.Blank, asciiTreeCharacters.Blank, asciiTreeCharacters.Blank }), last: new string( new char[] { asciiTreeCharacters.Last, asciiTreeCharacters.Dash, asciiTreeCharacters.Dash, asciiTreeCharacters.Blank }), blank: new string( new char[] { asciiTreeCharacters.Blank, asciiTreeCharacters.Blank, asciiTreeCharacters.Blank, asciiTreeCharacters.Blank }))); }