using System;
using System.Diagnostics;
class Class1
{
[STAThread]
static void Main(string[] args)
{
TextWriterTraceListener myWriter =
new TextWriterTraceListener(System.Console.Out);
Debug.Listeners.Add(myWriter);
Console.WriteLine("Console.WriteLine is always displayed");
Method1();
Method2();
}
[Conditional("CONDITION1")]
public static void Method1()
{
Debug.Write("Method1 - DEBUG and CONDITION1 are specified\n");
Trace.Write("Method1 - TRACE and CONDITION1 are specified\n");
}
[Conditional("CONDITION1"), Conditional("CONDITION2")]
public static void Method2()
{
Debug.Write("Method2 - DEBUG, CONDITION1 or CONDITION2 are specified\n");
}
}
/*
This console application produces the following output when compiled as shown.
Console.WriteLine is always displayed
Method1 - DEBUG and CONDITION1 are specified
Method1 - TRACE and CONDITION1 are specified
Method2 - DEBUG, CONDITION1 or CONDITION2 are specified
Console.WriteLine is always displayed
Method2 - DEBUG, CONDITION1 or CONDITION2 are specified
Console.WriteLine is always displayed
Method1 - TRACE and CONDITION1 are specified
*/