Development Class C#

/*
Mastering Visual C# .NET
by Jason Price, Mike Gunderloy
Publisher: Sybex;
ISBN: 0782129110
*/
#define TRACE
/*
  Example21_13.cs demonstrates post-deployment tracing
*/
using System;
using System.Globalization;
using System.Diagnostics;
public class Example21_13 
{
  public static void Main() 
  {
    // Set up a switch to turn tracing on
    BooleanSwitch bsEnableTrace = new BooleanSwitch("TraceOutput", 
      "Turn on tracing");
    // Set up a TraceListener to a file
    TextWriterTraceListener tl = new TextWriterTraceListener("Example21_13.txt");
    Trace.Listeners.Add(tl);
    // And a second TraceListener to the event log
    EventLogTraceListener t2 = new EventLogTraceListener("Application");
    Trace.Listeners.Add(t2);
    Trace.WriteLineIf(bsEnableTrace.Enabled,"Starting Main()");
    // create a date and a currency value
    DateTime dtNow = DateTime.Now;
    Double curOriginal = 12345.67;
    // and format the variables for a specific culture
    CultureInfo ci = new CultureInfo("en-US");
    string sLocalizedDate = dtNow.ToString("d", ci);
    string sLocalizedCur = curOriginal.ToString("c", ci);
    if (bsEnableTrace.Enabled) 
    {
      Trace.Assert(sLocalizedDate != null, "Localized date has no content");
    }
    // print them out
    Console.WriteLine(sLocalizedDate);
    Console.WriteLine(sLocalizedCur);
    Trace.WriteLineIf(bsEnableTrace.Enabled, "Exiting Main()");
    Trace.Flush();
    Trace.Close();
  }
}