TraceSwitch Constructor (String, String)


Initializes a new instance of the TraceSwitch class, using the specified display name and description.

Namespace:   System.Diagnostics
Assembly:  System (in System.dll)

Public Sub New (
	displayName As String,
	description As String


Type: System.String

The name to display on a user interface.

Type: System.String

The description of the switch.

To set the level of your TraceSwitch, edit the configuration file that corresponds to the name of your application. In this file, you can add a switch and set its value, remove a switch, or clear all the switches previously set by the application. The configuration file should be formatted like the following example:

      <add name="mySwitch" value="1" />

In the .NET Framework version 2.0, you can use text to specify the value for a switch. For example, true for a BooleanSwitch or the text representing an enumeration value, such as Error for a TraceSwitch. The line <add name="mySwitch" value="Error" /> is equivalent to <add name="mySwitch" value="1" />.

In your application, you can use the configured switch level by creating a TraceSwitch with the same name, as shown in the following example:

Private Shared appSwitch As new TraceSwitch("mySwitch", _
    "Switch in config file")

Public Shared Sub Main(args As String())
    Console.WriteLine("Trace switch {0} configured as {1}",
    appSwitch.DisplayName, appSwitch.Level.ToString())
    If appSwitch.TraceError = True  Then
    End If
End Sub

When the TraceSwitch constructor cannot find initial switch settings in the configuration file, the Level property of the new switch is set to TraceLevel.Off.

The TraceSwitch class provides the TraceError, TraceWarning, TraceInfo, and TraceVerbose properties to test the Level of the switch. The Level property gets or sets the switch's TraceLevel.


To improve performance, you can make TraceSwitch members static in your class.

The following code example creates a new TraceSwitch and uses the switch to determine whether to print error messages. The switch is created at the class level. MyMethod writes the first error message if the Level property is set to TraceLevel.Error or higher. However, MyMethod does not write the second error message if the Level is less than TraceLevel.Verbose.

' Class-level declaration.
' Create a TraceSwitch to use in the entire application. 
Private Shared mySwitch As New TraceSwitch("General", "Entire Application")    

Public Shared Sub MyMethod()
    ' Write the message if the TraceSwitch level is set to Error or higher.
    If mySwitch.TraceError Then
        Console.WriteLine("My error message.")
    End If 
    ' Write the message if the TraceSwitch level is set to Verbose.
    If mySwitch.TraceVerbose Then
        Console.WriteLine("My second error message.")
    End If
End Sub

Public Shared Sub Main()
    ' Run the method that prints error messages based on the switch level.
End Sub

.NET Framework
Available since 1.1
Return to top