Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
651 lines (577 sloc) 45.8 KB
<Type Name="TraceSwitch" FullName="System.Diagnostics.TraceSwitch">
<TypeSignature Language="C#" Value="public class TraceSwitch : System.Diagnostics.Switch" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit TraceSwitch extends System.Diagnostics.Switch" />
<TypeSignature Language="DocId" Value="T:System.Diagnostics.TraceSwitch" />
<TypeSignature Language="VB.NET" Value="Public Class TraceSwitch&#xA;Inherits Switch" />
<TypeSignature Language="C++ CLI" Value="public ref class TraceSwitch : System::Diagnostics::Switch" />
<TypeSignature Language="F#" Value="type TraceSwitch = class&#xA; inherit Switch" />
<AssemblyInfo>
<AssemblyName>System.Diagnostics.TraceSource</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Diagnostics.Switch</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netstandard-2.0;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0;netframework-4.8;netcore-3.0;netstandard-2.1">
<AttributeName>System.Diagnostics.SwitchLevel(typeof(System.Diagnostics.TraceLevel))</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>Provides a multilevel switch to control tracing and debug output without recompiling your code.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
You can use a trace switch to filter out messages based on their importance. The <xref:System.Diagnostics.TraceSwitch> class provides the <xref:System.Diagnostics.TraceSwitch.TraceError%2A>, <xref:System.Diagnostics.TraceSwitch.TraceWarning%2A>, <xref:System.Diagnostics.TraceSwitch.TraceInfo%2A>, and <xref:System.Diagnostics.TraceSwitch.TraceVerbose%2A> properties to test the level of the switch. The <xref:System.Diagnostics.TraceSwitch.Level%2A> property gets or sets the switch's <xref:System.Diagnostics.TraceLevel>.
You can set the level of a <xref:System.Diagnostics.TraceSwitch> through the application configuration file and then use the configured <xref:System.Diagnostics.TraceSwitch> level in your application. Alternately, you can create a <xref:System.Diagnostics.TraceSwitch> in your code and set the level directly to instrument a specific section of code.
To configure a <xref:System.Diagnostics.TraceSwitch>, edit the configuration file for your application. In this file, you can add or remove a switch, set a switch's value, or clear all the switches previously set by the application. The configuration file should be formatted like the following example:
```xml
<configuration>
<system.diagnostics>
<switches>
<add name="mySwitch" value="1" />
</switches>
</system.diagnostics>
</configuration>
```
This configuration section defines a <xref:System.Diagnostics.TraceSwitch> with the <xref:System.Diagnostics.Switch.DisplayName%2A> set to `mySwitch`, and the <xref:System.Diagnostics.TraceSwitch.Level%2A> set to 1, which corresponds to the enumeration value <xref:System.Diagnostics.TraceLevel.Error?displayProperty=nameWithType>.
> [!NOTE]
> In the .NET Framework version 2.0, you can use text to specify the value for a switch. For example, `true` for a <xref:System.Diagnostics.BooleanSwitch> or the text representing an enumeration value, such as `Error` for a <xref:System.Diagnostics.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 <xref:System.Diagnostics.TraceSwitch> with the same name, as shown in the following example:
[!code-cpp[Classic TraceSwitch.TraceError Example#3](~/samples/snippets/cpp/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceError Example/CPP/remarks.cpp#3)]
[!code-csharp[Classic TraceSwitch.TraceError Example#3](~/samples/snippets/csharp/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceError Example/CS/remarks.cs#3)]
[!code-vb[Classic TraceSwitch.TraceError Example#3](~/samples/snippets/visualbasic/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceError Example/VB/remarks.vb#3)]
By default, the switch <xref:System.Diagnostics.TraceSwitch.Level%2A> property is set using the value specified in the configuration file. If the <xref:System.Diagnostics.TraceSwitch.%23ctor%2A> constructor cannot find initial switch settings in the configuration file, the <xref:System.Diagnostics.TraceSwitch.Level%2A> of the new switch defaults to <xref:System.Diagnostics.TraceLevel.Off?displayProperty=nameWithType>.
You must enable tracing or debugging to use a switch. The following syntax is compiler specific. If you use compilers other than C# or Visual Basic, refer to the documentation for your compiler.
- To enable debugging in C#, add the `/d:DEBUG` flag to the compiler command line when you compile your code, or add `#define DEBUG` to the top of your file. In Visual Basic, add the `/d:DEBUG=True` flag to the compiler command line.
- To enable tracing in C#, add the `/d:TRACE` flag to the compiler command line when you compile your code, or add `#define TRACE` to the top of your file. In Visual Basic, add the `/d:TRACE=True` flag to the compiler command line.
> [!NOTE]
> These debug and trace compiler switches are not required when using the <xref:System.Diagnostics.TraceSwitch> class in isolation. They are only required in conjunction with <xref:System.Diagnostics.Trace> or <xref:System.Diagnostics.Debug> methods that are conditionally compiled.
For more information on instrumenting your application, see <xref:System.Diagnostics.Debug> and <xref:System.Diagnostics.Trace>. For more information about configuring and using trace switches, see [Trace Switches](~/docs/framework/debug-trace-profile/trace-switches.md).
> [!NOTE]
> To improve performance, you can make <xref:System.Diagnostics.TraceSwitch> members `static` in your class.
## Examples
The following code example creates a new <xref:System.Diagnostics.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 <xref:System.Diagnostics.TraceSwitch.Level%2A> property is set to <xref:System.Diagnostics.TraceLevel.Error?displayProperty=nameWithType> or higher. However, `MyMethod` does not write the second error message if the <xref:System.Diagnostics.TraceSwitch.Level%2A> is less than <xref:System.Diagnostics.TraceLevel.Verbose?displayProperty=nameWithType>.
[!code-cpp[Classic TraceSwitch.TraceError Example#1](~/samples/snippets/cpp/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceError Example/CPP/source.cpp#1)]
[!code-csharp[Classic TraceSwitch.TraceError Example#1](~/samples/snippets/csharp/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceError Example/CS/source.cs#1)]
[!code-vb[Classic TraceSwitch.TraceError Example#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceError Example/VB/source.vb#1)]
]]></format>
</remarks>
<altmember cref="T:System.Diagnostics.Switch" />
<altmember cref="T:System.Diagnostics.BooleanSwitch" />
<altmember cref="T:System.Diagnostics.TraceLevel" />
<altmember cref="T:System.Diagnostics.Debug" />
<altmember cref="T:System.Diagnostics.Trace" />
</Docs>
<Members>
<MemberGroup MemberName=".ctor">
<AssemblyInfo>
<AssemblyName>System.Diagnostics.TraceSource</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
</AssemblyInfo>
<Docs>
<summary>Initializes a new instance of the <see cref="T:System.Diagnostics.TraceSwitch" /> class.</summary>
</Docs>
</MemberGroup>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public TraceSwitch (string displayName, string description);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string displayName, string description) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Diagnostics.TraceSwitch.#ctor(System.String,System.String)" />
<MemberSignature Language="VB.NET" Value="Public Sub New (displayName As String, description As String)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; TraceSwitch(System::String ^ displayName, System::String ^ description);" />
<MemberSignature Language="F#" Value="new System.Diagnostics.TraceSwitch : string * string -&gt; System.Diagnostics.TraceSwitch" Usage="new System.Diagnostics.TraceSwitch (displayName, description)" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Diagnostics.TraceSource</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
</Attributes>
<Parameters>
<Parameter Name="displayName" Type="System.String" />
<Parameter Name="description" Type="System.String" />
</Parameters>
<Docs>
<param name="displayName">The name to display on a user interface.</param>
<param name="description">The description of the switch.</param>
<summary>Initializes a new instance of the <see cref="T:System.Diagnostics.TraceSwitch" /> class, using the specified display name and description.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
To set the level of your <xref:System.Diagnostics.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:
```xml
<configuration>
<system.diagnostics>
<switches>
<add name="mySwitch" value="1" />
</switches>
</system.diagnostics>
</configuration>
```
> [!NOTE]
> In the .NET Framework version 2.0, you can use text to specify the value for a switch. For example, `true` for a <xref:System.Diagnostics.BooleanSwitch> or the text representing an enumeration value, such as `Error` for a <xref:System.Diagnostics.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 <xref:System.Diagnostics.TraceSwitch> with the same name, as shown in the following example:
[!code-cpp[Classic TraceSwitch.TraceError Example#3](~/samples/snippets/cpp/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceError Example/CPP/remarks.cpp#3)]
[!code-csharp[Classic TraceSwitch.TraceError Example#3](~/samples/snippets/csharp/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceError Example/CS/remarks.cs#3)]
[!code-vb[Classic TraceSwitch.TraceError Example#3](~/samples/snippets/visualbasic/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceError Example/VB/remarks.vb#3)]
When the <xref:System.Diagnostics.TraceSwitch.%23ctor%2A> constructor cannot find initial switch settings in the configuration file, the <xref:System.Diagnostics.TraceSwitch.Level%2A> property of the new switch is set to <xref:System.Diagnostics.TraceLevel.Off?displayProperty=nameWithType>.
The <xref:System.Diagnostics.TraceSwitch> class provides the <xref:System.Diagnostics.TraceSwitch.TraceError%2A>, <xref:System.Diagnostics.TraceSwitch.TraceWarning%2A>, <xref:System.Diagnostics.TraceSwitch.TraceInfo%2A>, and <xref:System.Diagnostics.TraceSwitch.TraceVerbose%2A> properties to test the <xref:System.Diagnostics.TraceSwitch.Level%2A> of the switch. The <xref:System.Diagnostics.TraceSwitch.Level%2A> property gets or sets the switch's <xref:System.Diagnostics.TraceLevel>.
> [!NOTE]
> To improve performance, you can make <xref:System.Diagnostics.TraceSwitch> members `static` in your class.
## Examples
The following code example creates a new <xref:System.Diagnostics.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 <xref:System.Diagnostics.TraceSwitch.Level%2A> property is set to <xref:System.Diagnostics.TraceLevel.Error?displayProperty=nameWithType> or higher. However, `MyMethod` does not write the second error message if the <xref:System.Diagnostics.TraceSwitch.Level%2A> is less than <xref:System.Diagnostics.TraceLevel.Verbose?displayProperty=nameWithType>.
[!code-cpp[Classic TraceSwitch.TraceError Example#1](~/samples/snippets/cpp/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceError Example/CPP/source.cpp#1)]
[!code-csharp[Classic TraceSwitch.TraceError Example#1](~/samples/snippets/csharp/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceError Example/CS/source.cs#1)]
[!code-vb[Classic TraceSwitch.TraceError Example#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceError Example/VB/source.vb#1)]
]]></format>
</remarks>
<altmember cref="T:System.Diagnostics.TraceSwitch" />
<altmember cref="T:System.Diagnostics.TraceLevel" />
<altmember cref="T:System.Diagnostics.Switch" />
<altmember cref="T:System.Diagnostics.Debug" />
<altmember cref="T:System.Diagnostics.Trace" />
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public TraceSwitch (string displayName, string description, string defaultSwitchValue);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string displayName, string description, string defaultSwitchValue) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Diagnostics.TraceSwitch.#ctor(System.String,System.String,System.String)" />
<MemberSignature Language="VB.NET" Value="Public Sub New (displayName As String, description As String, defaultSwitchValue As String)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; TraceSwitch(System::String ^ displayName, System::String ^ description, System::String ^ defaultSwitchValue);" />
<MemberSignature Language="F#" Value="new System.Diagnostics.TraceSwitch : string * string * string -&gt; System.Diagnostics.TraceSwitch" Usage="new System.Diagnostics.TraceSwitch (displayName, description, defaultSwitchValue)" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Diagnostics.TraceSource</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
</Attributes>
<Parameters>
<Parameter Name="displayName" Type="System.String" Index="0" FrameworkAlternate="netcore-1.0;netcore-1.1;netcore-2.0;netcore-2.1;netcore-2.2;netcore-3.0;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netstandard-2.0;netstandard-2.1;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0" />
<Parameter Name="description" Type="System.String" Index="1" FrameworkAlternate="netcore-1.0;netcore-1.1;netcore-2.0;netcore-2.1;netcore-2.2;netcore-3.0;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netstandard-2.0;netstandard-2.1;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0" />
<Parameter Name="defaultSwitchValue" Type="System.String" Index="2" FrameworkAlternate="netcore-1.0;netcore-1.1;netcore-2.0;netcore-2.1;netcore-2.2;netcore-3.0;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netstandard-2.0;netstandard-2.1;xamarinandroid-7.1;xamarinios-10.8;xamarinmac-3.0" />
</Parameters>
<Docs>
<param name="displayName">The name to display on a user interface.</param>
<param name="description">The description of the switch.</param>
<param name="defaultSwitchValue">The default value of the switch.</param>
<summary>Initializes a new instance of the <see cref="T:System.Diagnostics.TraceSwitch" /> class, using the specified display name, description, and default value for the switch.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The `displayName` parameter is used to set the value of the <xref:System.Diagnostics.Switch.DisplayName%2A> property, the `description` parameter is use to set the value of the <xref:System.Diagnostics.Switch.Description%2A> property, and the `defaultSwitchValue` parameter is saved as a field and used to initialize the <xref:System.Diagnostics.Switch.Value%2A> property on first reference. See the <xref:System.Diagnostics.TraceSwitch.%23ctor%28System.String%2CSystem.String%29> constructor for more information and a code example.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Level">
<MemberSignature Language="C#" Value="public System.Diagnostics.TraceLevel Level { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Diagnostics.TraceLevel Level" />
<MemberSignature Language="DocId" Value="P:System.Diagnostics.TraceSwitch.Level" />
<MemberSignature Language="VB.NET" Value="Public Property Level As TraceLevel" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property System::Diagnostics::TraceLevel Level { System::Diagnostics::TraceLevel get(); void set(System::Diagnostics::TraceLevel value); };" />
<MemberSignature Language="F#" Value="member this.Level : System.Diagnostics.TraceLevel with get, set" Usage="System.Diagnostics.TraceSwitch.Level" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Diagnostics.TraceSource</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Diagnostics.TraceLevel</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the trace level that determines the messages the switch allows.</summary>
<value>One of the <see cref="T:System.Diagnostics.TraceLevel" /> values that specifies the level of messages that are allowed by the switch.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
To set the level of your <xref:System.Diagnostics.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:
```xml
<configuration>
<system.diagnostics>
<switches>
<add name="mySwitch" value="0" />
<add name="myNewSwitch" value="3" />
<remove name="mySwitch" />
<clear/>
</switches>
</system.diagnostics>
</configuration>
```
> [!NOTE]
> In the .NET Framework version 2.0, you can use text to specify the value for a switch. For example, `true` for a <xref:System.Diagnostics.BooleanSwitch> or the text representing an enumeration value, such as `Error` for a <xref:System.Diagnostics.TraceSwitch>. The line `<add name="mySwitch" value="Error" />` is equivalent to `<add name="mySwitch" value="1" />`.
When the <xref:System.Diagnostics.TraceSwitch.%23ctor%2A> constructor cannot find initial switch settings in the configuration file, the <xref:System.Diagnostics.TraceSwitch.Level%2A> property of the new switch is set to <xref:System.Diagnostics.TraceLevel.Off?displayProperty=nameWithType>.
Setting this property updates the <xref:System.Diagnostics.TraceSwitch.TraceError%2A>, <xref:System.Diagnostics.TraceSwitch.TraceWarning%2A>, <xref:System.Diagnostics.TraceSwitch.TraceInfo%2A>, and <xref:System.Diagnostics.TraceSwitch.TraceVerbose%2A> properties to reflect the new value.
## Examples
The following code example creates a new <xref:System.Diagnostics.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 <xref:System.Diagnostics.TraceSwitch.Level%2A> property is set to <xref:System.Diagnostics.TraceLevel.Error?displayProperty=nameWithType> or higher. However, `MyMethod` does not write the second error message if the <xref:System.Diagnostics.TraceSwitch.Level%2A> is less than <xref:System.Diagnostics.TraceLevel.Verbose?displayProperty=nameWithType>.
[!code-cpp[Classic TraceSwitch.Level Example#1](~/samples/snippets/cpp/VS_Snippets_CLR_Classic/classic TraceSwitch.Level Example/CPP/source.cpp#1)]
[!code-csharp[Classic TraceSwitch.Level Example#1](~/samples/snippets/csharp/VS_Snippets_CLR_Classic/classic TraceSwitch.Level Example/CS/source.cs#1)]
[!code-vb[Classic TraceSwitch.Level Example#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_Classic/classic TraceSwitch.Level Example/VB/source.vb#1)]
]]></format>
</remarks>
<exception cref="T:System.ArgumentException">
<see cref="P:System.Diagnostics.TraceSwitch.Level" /> is set to a value that is not one of the <see cref="T:System.Diagnostics.TraceLevel" /> values.</exception>
<permission cref="T:System.Security.Permissions.SecurityPermission">for operating with unmanaged code. Associated enumeration: <see cref="F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode" /> Security action: <see cref="F:System.Security.Permissions.SecurityAction.LinkDemand" />.</permission>
<altmember cref="T:System.Diagnostics.TraceSwitch" />
<altmember cref="T:System.Diagnostics.TraceLevel" />
<altmember cref="T:System.Diagnostics.Switch" />
<altmember cref="T:System.Diagnostics.Debug" />
<altmember cref="T:System.Diagnostics.Trace" />
</Docs>
</Member>
<Member MemberName="OnSwitchSettingChanged">
<MemberSignature Language="C#" Value="protected override void OnSwitchSettingChanged ();" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void OnSwitchSettingChanged() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Diagnostics.TraceSwitch.OnSwitchSettingChanged" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub OnSwitchSettingChanged ()" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override void OnSwitchSettingChanged();" />
<MemberSignature Language="F#" Value="override this.OnSwitchSettingChanged : unit -&gt; unit" Usage="traceSwitch.OnSwitchSettingChanged " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Diagnostics.TraceSource</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Updates and corrects the level for this switch.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Diagnostics.TraceSwitch.OnSwitchSettingChanged%2A> method is used by the .NET framework to validate and correct the value of a switch initialized via a configuration file. A message is written to all trace listeners if the switch value specified in the configuration file is not defined by the <xref:System.Diagnostics.TraceLevel> enumeration and the switch is set to a defined value.
If you attempt in your code to set the <xref:System.Diagnostics.TraceSwitch.Level%2A> property to a value that is not defined by the <xref:System.Diagnostics.TraceLevel> enumeration, an <xref:System.ArgumentException> exception is thrown.
]]></format>
</remarks>
<altmember cref="T:System.Diagnostics.TraceSwitch" />
<altmember cref="T:System.Diagnostics.Switch" />
<altmember cref="T:System.Diagnostics.Debug" />
<altmember cref="T:System.Diagnostics.Trace" />
</Docs>
</Member>
<Member MemberName="OnValueChanged">
<MemberSignature Language="C#" Value="protected override void OnValueChanged ();" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void OnValueChanged() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Diagnostics.TraceSwitch.OnValueChanged" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Sub OnValueChanged ()" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override void OnValueChanged();" />
<MemberSignature Language="F#" Value="override this.OnValueChanged : unit -&gt; unit" Usage="traceSwitch.OnValueChanged " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Diagnostics.TraceSource</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Sets the <see cref="P:System.Diagnostics.Switch.SwitchSetting" /> property to the integer equivalent of the <see cref="P:System.Diagnostics.Switch.Value" /> property.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method is called internally when the <xref:System.Diagnostics.Switch.Value%2A> property of the switch changes. The method ensures that the properties relating to the switch's value reflect the new value.
]]></format>
</remarks>
<block subset="none" type="overrides">
<para>To override this property, convert the string value of the <see cref="P:System.Diagnostics.Switch.Value" /> property to binary, and then set the <see cref="P:System.Diagnostics.TraceSwitch.Level" /> property.</para>
</block>
</Docs>
</Member>
<Member MemberName="TraceError">
<MemberSignature Language="C#" Value="public bool TraceError { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool TraceError" />
<MemberSignature Language="DocId" Value="P:System.Diagnostics.TraceSwitch.TraceError" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property TraceError As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property bool TraceError { bool get(); };" />
<MemberSignature Language="F#" Value="member this.TraceError : bool" Usage="System.Diagnostics.TraceSwitch.TraceError" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Diagnostics.TraceSource</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value indicating whether the switch allows error-handling messages.</summary>
<value>
<see langword="true" /> if the <see cref="P:System.Diagnostics.TraceSwitch.Level" /> property is set to <see cref="F:System.Diagnostics.TraceLevel.Error" />, <see cref="F:System.Diagnostics.TraceLevel.Warning" />, <see cref="F:System.Diagnostics.TraceLevel.Info" />, or <see cref="F:System.Diagnostics.TraceLevel.Verbose" />; otherwise, <see langword="false" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
You can use the <xref:System.Diagnostics.TraceSwitch.TraceError%2A>, <xref:System.Diagnostics.TraceSwitch.TraceWarning%2A>, <xref:System.Diagnostics.TraceSwitch.TraceInfo%2A>, and <xref:System.Diagnostics.TraceSwitch.TraceVerbose%2A> properties in conjunction with the <xref:System.Diagnostics.Debug> and <xref:System.Diagnostics.Trace> classes to emit all messages with a specified importance or greater. When the <xref:System.Diagnostics.TraceSwitch.Level%2A> property is set to the highest importance, <xref:System.Diagnostics.TraceLevel.Error?displayProperty=nameWithType>, <xref:System.Diagnostics.TraceLevel.Error> , only error-handling messages are emitted.
## Examples
The following code example creates a new <xref:System.Diagnostics.TraceSwitch> and uses the switch to determine whether to emit error messages. The switch is created at the class level. `MyMethod` writes the first error message if the <xref:System.Diagnostics.TraceSwitch.Level%2A> property is set to <xref:System.Diagnostics.TraceLevel.Error?displayProperty=nameWithType> or higher. However, `MyMethod` does not write the second error message if the <xref:System.Diagnostics.TraceSwitch.Level%2A> is less than <xref:System.Diagnostics.TraceLevel.Verbose?displayProperty=nameWithType>.
[!code-cpp[Classic TraceSwitch.TraceError Example#1](~/samples/snippets/cpp/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceError Example/CPP/source.cpp#1)]
[!code-csharp[Classic TraceSwitch.TraceError Example#1](~/samples/snippets/csharp/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceError Example/CS/source.cs#1)]
[!code-vb[Classic TraceSwitch.TraceError Example#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceError Example/VB/source.vb#1)]
]]></format>
</remarks>
<altmember cref="T:System.Diagnostics.TraceSwitch" />
<altmember cref="T:System.Diagnostics.Switch" />
<altmember cref="T:System.Diagnostics.TraceLevel" />
<altmember cref="T:System.Diagnostics.Debug" />
<altmember cref="T:System.Diagnostics.Trace" />
</Docs>
</Member>
<Member MemberName="TraceInfo">
<MemberSignature Language="C#" Value="public bool TraceInfo { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool TraceInfo" />
<MemberSignature Language="DocId" Value="P:System.Diagnostics.TraceSwitch.TraceInfo" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property TraceInfo As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property bool TraceInfo { bool get(); };" />
<MemberSignature Language="F#" Value="member this.TraceInfo : bool" Usage="System.Diagnostics.TraceSwitch.TraceInfo" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Diagnostics.TraceSource</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value indicating whether the switch allows informational messages.</summary>
<value>
<see langword="true" /> if the <see cref="P:System.Diagnostics.TraceSwitch.Level" /> property is set to <see cref="F:System.Diagnostics.TraceLevel.Info" /> or <see cref="F:System.Diagnostics.TraceLevel.Verbose" />; otherwise, <see langword="false" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
You can use the <xref:System.Diagnostics.TraceSwitch.TraceError%2A>, <xref:System.Diagnostics.TraceSwitch.TraceWarning%2A>, <xref:System.Diagnostics.TraceSwitch.TraceInfo%2A>, and <xref:System.Diagnostics.TraceSwitch.TraceVerbose%2A> properties in conjunction with the <xref:System.Diagnostics.Debug> and <xref:System.Diagnostics.Trace> classes to emit all messages with a specified importance or greater. When the <xref:System.Diagnostics.TraceSwitch.Level%2A> property is set to <xref:System.Diagnostics.TraceLevel.Warning?displayProperty=nameWithType>, informational messages, warnings, and error-handling messages are emitted.
## Examples
The following code example creates a new <xref:System.Diagnostics.TraceSwitch> and uses the switch to determine whether to emit error messages. The switch is created at the class level. `MyMethod` writes the first error message if the <xref:System.Diagnostics.TraceSwitch.Level%2A> property is set to <xref:System.Diagnostics.TraceLevel.Info?displayProperty=nameWithType> or higher. However, `MyMethod` does not write the second error message if the <xref:System.Diagnostics.TraceSwitch.Level%2A> is less than <xref:System.Diagnostics.TraceLevel.Verbose?displayProperty=nameWithType>.
[!code-cpp[Classic TraceSwitch.TraceInfo Example#1](~/samples/snippets/cpp/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceInfo Example/CPP/source.cpp#1)]
[!code-csharp[Classic TraceSwitch.TraceInfo Example#1](~/samples/snippets/csharp/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceInfo Example/CS/source.cs#1)]
[!code-vb[Classic TraceSwitch.TraceInfo Example#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceInfo Example/VB/source.vb#1)]
]]></format>
</remarks>
<altmember cref="T:System.Diagnostics.TraceSwitch" />
<altmember cref="T:System.Diagnostics.Switch" />
<altmember cref="T:System.Diagnostics.TraceLevel" />
<altmember cref="T:System.Diagnostics.Debug" />
<altmember cref="T:System.Diagnostics.Trace" />
</Docs>
</Member>
<Member MemberName="TraceVerbose">
<MemberSignature Language="C#" Value="public bool TraceVerbose { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool TraceVerbose" />
<MemberSignature Language="DocId" Value="P:System.Diagnostics.TraceSwitch.TraceVerbose" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property TraceVerbose As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property bool TraceVerbose { bool get(); };" />
<MemberSignature Language="F#" Value="member this.TraceVerbose : bool" Usage="System.Diagnostics.TraceSwitch.TraceVerbose" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Diagnostics.TraceSource</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value indicating whether the switch allows all messages.</summary>
<value>
<see langword="true" /> if the <see cref="P:System.Diagnostics.TraceSwitch.Level" /> property is set to <see cref="F:System.Diagnostics.TraceLevel.Verbose" />; otherwise, <see langword="false" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
You can use the <xref:System.Diagnostics.TraceSwitch.TraceError%2A>, <xref:System.Diagnostics.TraceSwitch.TraceWarning%2A>, <xref:System.Diagnostics.TraceSwitch.TraceInfo%2A>, and <xref:System.Diagnostics.TraceSwitch.TraceVerbose%2A> properties in conjunction with the <xref:System.Diagnostics.Debug> and <xref:System.Diagnostics.Trace> classes to emit all messages with a specified importance or greater. When the <xref:System.Diagnostics.TraceSwitch.Level%2A> property is set to <xref:System.Diagnostics.TraceLevel.Verbose?displayProperty=nameWithType>, all debugging and tracing messages are transmitted.
## Examples
The following code example creates a new <xref:System.Diagnostics.TraceSwitch> and uses the switch to determine whether to emit error messages. The switch is created at the class level. `MyMethod` writes both error messages when the <xref:System.Diagnostics.TraceSwitch.Level%2A> property is set to <xref:System.Diagnostics.TraceLevel.Verbose?displayProperty=nameWithType>.
[!code-cpp[Classic TraceSwitch.TraceError Example#1](~/samples/snippets/cpp/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceError Example/CPP/source.cpp#1)]
[!code-csharp[Classic TraceSwitch.TraceError Example#1](~/samples/snippets/csharp/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceError Example/CS/source.cs#1)]
[!code-vb[Classic TraceSwitch.TraceError Example#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceError Example/VB/source.vb#1)]
]]></format>
</remarks>
<altmember cref="T:System.Diagnostics.TraceSwitch" />
<altmember cref="T:System.Diagnostics.Switch" />
<altmember cref="T:System.Diagnostics.TraceLevel" />
<altmember cref="T:System.Diagnostics.Debug" />
<altmember cref="T:System.Diagnostics.Trace" />
</Docs>
</Member>
<Member MemberName="TraceWarning">
<MemberSignature Language="C#" Value="public bool TraceWarning { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool TraceWarning" />
<MemberSignature Language="DocId" Value="P:System.Diagnostics.TraceSwitch.TraceWarning" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property TraceWarning As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property bool TraceWarning { bool get(); };" />
<MemberSignature Language="F#" Value="member this.TraceWarning : bool" Usage="System.Diagnostics.TraceSwitch.TraceWarning" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Diagnostics.TraceSource</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value indicating whether the switch allows warning messages.</summary>
<value>
<see langword="true" /> if the <see cref="P:System.Diagnostics.TraceSwitch.Level" /> property is set to <see cref="F:System.Diagnostics.TraceLevel.Warning" />, <see cref="F:System.Diagnostics.TraceLevel.Info" />, or <see cref="F:System.Diagnostics.TraceLevel.Verbose" />; otherwise, <see langword="false" />.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
You can use the <xref:System.Diagnostics.TraceSwitch.TraceError%2A>, <xref:System.Diagnostics.TraceSwitch.TraceWarning%2A>, <xref:System.Diagnostics.TraceSwitch.TraceInfo%2A>, and <xref:System.Diagnostics.TraceSwitch.TraceVerbose%2A> properties in conjunction with the <xref:System.Diagnostics.Debug> and <xref:System.Diagnostics.Trace> classes to emit all messages with a specified importance or greater. When the <xref:System.Diagnostics.TraceSwitch.Level%2A> property is set to <xref:System.Diagnostics.TraceLevel.Warning?displayProperty=nameWithType>, warnings and error-handling messages are emitted.
## Examples
The following code example creates a new <xref:System.Diagnostics.TraceSwitch> and uses the switch to determine whether to emit error messages. The switch is created at the class level. `MyMethod` writes the first error message if the <xref:System.Diagnostics.TraceSwitch.Level%2A> property is set to <xref:System.Diagnostics.TraceLevel.Warning?displayProperty=nameWithType> or higher. However, `MyMethod` does not write the second error message when the <xref:System.Diagnostics.TraceSwitch.Level%2A> is less than <xref:System.Diagnostics.TraceLevel.Verbose?displayProperty=nameWithType>.
[!code-cpp[Classic TraceSwitch.TraceWarning Example#1](~/samples/snippets/cpp/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceWarning Example/CPP/source.cpp#1)]
[!code-csharp[Classic TraceSwitch.TraceWarning Example#1](~/samples/snippets/csharp/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceWarning Example/CS/source.cs#1)]
[!code-vb[Classic TraceSwitch.TraceWarning Example#1](~/samples/snippets/visualbasic/VS_Snippets_CLR_Classic/classic TraceSwitch.TraceWarning Example/VB/source.vb#1)]
]]></format>
</remarks>
<altmember cref="T:System.Diagnostics.TraceSwitch" />
<altmember cref="T:System.Diagnostics.Switch" />
<altmember cref="T:System.Diagnostics.TraceLevel" />
<altmember cref="T:System.Diagnostics.Debug" />
<altmember cref="T:System.Diagnostics.Trace" />
</Docs>
</Member>
</Members>
</Type>
You can’t perform that action at this time.