BooleanSwitch Класс

Определение

Предоставляет простой переключатель, управляющий выводом результатов отладки и трассировки.Provides a simple on/off switch that controls debugging and tracing output.

public ref class BooleanSwitch : System::Diagnostics::Switch
public class BooleanSwitch : System.Diagnostics.Switch
type BooleanSwitch = class
    inherit Switch
Public Class BooleanSwitch
Inherits Switch
Наследование
BooleanSwitch

Примеры

В следующем примере создается BooleanSwitch и используется параметр, чтобы определить, следует ли выводить сообщение об ошибке.The following example creates a BooleanSwitch and uses the switch to determine whether to print an error message. Переключатель создается на уровне класса.You create the switch at the class level. Метод передает свое расположение в MyMethod, которое выводит сообщение об ошибке и место возникновения ошибки. MainThe Main method passes its location to MyMethod, which prints an error message and where the error occurred.

public ref class BooleanSwitchTest
{
private:

   /* Create a BooleanSwitch for data.*/
   static BooleanSwitch^ dataSwitch = gcnew BooleanSwitch( "Data","DataAccess module" );

public:
   static void MyMethod( String^ location )
   {
      
      //Insert code here to handle processing.
      if ( dataSwitch->Enabled )
            Console::WriteLine( "Error happened at {0}", location );
   }

};

int main()
{
   
   //Run the method which writes an error message specifying the location of the error.
   BooleanSwitchTest::MyMethod( "in main" );
}

// Class level declaration.
/* Create a BooleanSwitch for data.*/
static BooleanSwitch dataSwitch = new BooleanSwitch("Data", "DataAccess module");

static public void MyMethod(string location) {
   //Insert code here to handle processing.
   if(dataSwitch.Enabled)
      Console.WriteLine("Error happened at " + location);
}

public static void Main(string[] args) {
   //Run the method which writes an error message specifying the location of the error.
   MyMethod("in Main");
}

' Class level declaration.
' Create a BooleanSwitch for data. 
Private Shared dataSwitch As New BooleanSwitch("Data", "DataAccess module")


Public Shared Sub MyMethod(location As String)
    ' Insert code here to handle processing.
    If dataSwitch.Enabled Then
        Console.WriteLine(("Error happened at " + location))
    End If
End Sub

' Entry point which delegates to C-style main function.
Public Overloads Shared Sub Main()
    Main(System.Environment.GetCommandLineArgs())
End Sub
 
Overloads Public Shared Sub Main(args() As String)
    ' Run the method which writes an error message specifying the location of the error.
    MyMethod("in Main")
End Sub

Комментарии

Для включения или отключения сообщений в зависимости от их важности можно использовать логический переключатель трассировки.You can use a Boolean trace switch to enable or disable messages based on their importance. Enabled Используйте свойство, чтобы получить текущее значение переключателя.Use the Enabled property to get the current value of the switch.

Вы можете включить или отключить в BooleanSwitch файле конфигурации приложения, а затем использовать настроенное BooleanSwitch значение в приложении.You can enable or disable a BooleanSwitch through the application configuration file and then use the configured BooleanSwitch value in your application. Кроме того, можно создать BooleanSwitch в коде и Enabled задать свойство напрямую для инструментирования определенного раздела кода.Alternately, you can create a BooleanSwitch in your code and set the Enabled property directly to instrument a specific section of code.

Чтобы настроить BooleanSwitch, измените файл конфигурации, соответствующий имени приложения.To configure a BooleanSwitch, edit the configuration file that corresponds to the name of your application. В этом файле можно добавить или удалить переключатель, задать значение переключателя или очистить все параметры, ранее заданные приложением.Within 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.

<configuration>  
  <system.diagnostics>  
    <switches>  
      <add name="mySwitch" value="1"/>  
    </switches>  
  </system.diagnostics>  
</configuration>  

В этом примере раздела конфигурации определяется BooleanSwitch DisplayName mySwitch trueсвойство со свойством, для которого задано значение,адлязначения—.EnabledThis example configuration section defines a BooleanSwitch with the DisplayName property set to mySwitch and the Enabled value set to true. В приложении можно использовать настроенное значение переключателя, создав BooleanSwitch с тем же именем, как показано в следующем примере кода.Within your application, you can use the configured switch value by creating a BooleanSwitch with the same name, as shown in the following code example.

private:
    static BooleanSwitch^ boolSwitch = gcnew BooleanSwitch("mySwitch",
        "Switch in config file");

public:
    static void Main( )
    {
        //...
        Console::WriteLine("Boolean switch {0} configured as {1}",
            boolSwitch->DisplayName, ((Boolean^)boolSwitch->Enabled)->ToString());
        if (boolSwitch->Enabled)
        {
            //...
        }
    }
private static BooleanSwitch boolSwitch = new BooleanSwitch("mySwitch",
    "Switch in config file");

public static void Main( )
{
    //...
    Console.WriteLine("Boolean switch {0} configured as {1}",
        boolSwitch.DisplayName, boolSwitch.Enabled.ToString());
    if (boolSwitch.Enabled)
    {
        //...
    }
}
Private Shared boolSwitch As new BooleanSwitch("mySwitch", _
    "Switch in config file")

Public Shared Sub Main( )
    '...
    Console.WriteLine("Boolean switch {0} configured as {1}",
        boolSwitch.DisplayName, boolSwitch.Enabled.ToString())
    If boolSwitch.Enabled = True Then
        '...
    End If
End Sub

По умолчанию Enabled свойство задается с помощью значения, указанного в файле конфигурации.By default, the Enabled property is set using the value specified in the configuration file. Настройте параметр со значением 0, чтобы Enabled задать для falseсвойства значение; настройте параметр с Enabled ненулевым значением, чтобы присвоить свойству trueзначение.Configure the switch with a value of 0 to set the Enabled property to false; configure the switch with a nonzero value to set the Enabled property to true. Если конструктор не может найти начальные параметры коммутатора в файле конфигурации Enabled , свойство нового переключателя устанавливается в false значение по умолчанию. BooleanSwitchIf the BooleanSwitch constructor cannot find initial switch settings in the configuration file, the Enabled property of the new switch is set to false by default.

Для использования переключателя необходимо включить трассировку или отладку.You must enable tracing or debugging to use a switch. Ниже приведен синтаксис, характерный для компилятора.The following syntax is compiler specific. Если вы используете компиляторы, отличные C# от или Visual Basic, обратитесь к документации по компилятору.If you use compilers other than C# or Visual Basic, refer to the documentation for your compiler.

  • Чтобы включить отладку C#в, добавьте /d:DEBUG флаг в командную строку компилятора при компиляции кода или добавьте #define DEBUG в начало файла.To enable debugging in C#, add the /d:DEBUG flag to the compiler command line when you compile your code, or you can add #define DEBUG to the top of your file. В Visual Basic добавьте /d:DEBUG=True флаг в командную строку компилятора.In Visual Basic, add the /d:DEBUG=True flag to the compiler command line.

  • Чтобы включить трассировку C#в, добавьте /d:TRACE флаг в командную строку компилятора при компиляции кода или добавьте #define TRACE в начало файла.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. В Visual Basic добавьте /d:TRACE=True флаг в командную строку компилятора.In Visual Basic, add the /d:TRACE=True flag to the compiler command line.

Примечание

Эти параметры компилятора отладки и трассировки не требуются при использовании BooleanSwitch класса в режиме изоляции.These debug and trace compiler switches are not required when using the BooleanSwitch class in isolation. Они необходимы только в сочетании с Trace методами или Debug , которые компилируются условно.They are only required in conjunction with Trace or Debug methods that are conditionally compiled.

Дополнительные сведения об инструментировании приложения см Debug . в статьях и. TraceFor more information on instrumenting your application, see Debug and Trace. Дополнительные сведения о настройке и использовании переключателей трассировки см. в разделе Параметры трассировки.For more information about configuring and using trace switches, see Trace Switches.

Примечание

Чтобы повысить производительность, можно сделать BooleanSwitch члены static класса.To improve performance, you can make BooleanSwitch members static in your class.

Конструкторы

BooleanSwitch(String, String)

Инициализирует новый экземпляр класса BooleanSwitch указанными отображаемым именем и описанием.Initializes a new instance of the BooleanSwitch class with the specified display name and description.

BooleanSwitch(String, String, String)

Инициализирует новый экземпляр класса BooleanSwitch указанными отображаемым именем, описанием и значением переключателя по умолчанию.Initializes a new instance of the BooleanSwitch class with the specified display name, description, and default switch value.

Свойства

Attributes

Получает настраиваемые атрибуты переключателя, определенные в файле конфигурации приложения.Gets the custom switch attributes defined in the application configuration file.

(Унаследовано от Switch)
Description

Получает описание переключателя.Gets a description of the switch.

(Унаследовано от Switch)
DisplayName

Получает имя, идентифицирующее переключатель.Gets a name used to identify the switch.

(Унаследовано от Switch)
Enabled

Получает или задает значение, указывающее, включен переключатель или выключен.Gets or sets a value indicating whether the switch is enabled or disabled.

SwitchSetting

Получает или задает текущее положение данного переключателя.Gets or sets the current setting for this switch.

(Унаследовано от Switch)
Value

Получает или задает значение переключателя.Gets or sets the value of the switch.

(Унаследовано от Switch)

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetHashCode()

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetSupportedAttributes()

Возвращает настраиваемые атрибуты, поддерживаемые переключателем.Gets the custom attributes supported by the switch.

(Унаследовано от Switch)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
OnSwitchSettingChanged()

Вызывается при изменении свойства SwitchSetting.Invoked when the SwitchSetting property is changed.

(Унаследовано от Switch)
OnValueChanged()

Определяет, можно ли проанализировать новое значение свойства Value как логическое значение.Determines whether the new value of the Value property can be parsed as a Boolean value.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Применяется к

Дополнительно