|
Listing 16-18 extracted from chapter Base classes
Listing 16-17< > Listing 16-19
This listing can be compiled with the command line: csc.exe /target:exe Example_16_18.cs Errors: 0 Warnings: 0
Example_16_18.cs
using System.Diagnostics;
class Program {
static TraceSource trace1;
const int IndentSize = 3;
static string IndentLevel { get{
StackTrace stackTrace = new StackTrace();
return new string( ' ',(stackTrace.FrameCount - 2)* IndentSize);
}
}
static void Main() {
trace1 = new TraceSource( "Trace1" );
trace1.Listeners.Add(new ConsoleTraceListener());
trace1.Switch.Level = SourceLevels.All;
trace1.TraceInformation( IndentLevel + "Begin Main()");
fct( 2 );
trace1.TraceInformation( IndentLevel + "End Main()");
}
static void fct( int i ) {
trace1.TraceInformation( IndentLevel+"Begin fct("+i.ToString()+")" );
if (i > 0)
fct(i-1);
trace1.TraceInformation( IndentLevel+"End fct(" + i.ToString()+")" );
}
}
Copyright Patrick Smacchia 2006 2007
|