Поделиться через


BooleanSwitch Класс

Определение

Предоставляет простой переключатель включено и выключение, которое управляет отладкой и трассировкой выходных данных.

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 и используется переключатель, чтобы определить, следует ли распечатать сообщение об ошибке. Вы создаете переключатель на уровне класса. Метод Main передает его расположение MyMethod, в которое выводится сообщение об ошибке и где произошла ошибка.

// 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

Комментарии

Вы можете использовать логический переключатель трассировки для включения или отключения сообщений на основе их важности. Enabled Используйте свойство, чтобы получить текущее значение коммутатора.

Вы можете создать в коде BooleanSwitch и задать Enabled свойство непосредственно для инструментирования определенного раздела кода.

Только для приложений .NET Framework можно включить или отключить BooleanSwitch его с помощью файла конфигурации приложения, а затем использовать настроенное BooleanSwitch значение в приложении. Чтобы настроить BooleanSwitchфайл конфигурации, соответствующий имени приложения, измените файл конфигурации. В этом файле можно добавить или удалить переключатель, задать значение коммутатора или очистить все параметры, заданные ранее приложением. Файл конфигурации должен быть отформатирован, как показано в следующем примере.

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

В этом примере раздела конфигурации определяется BooleanSwitch свойство с набором mySwitchDisplayName свойств и значением, равным Enabledtrue. В приложении .NET Framework можно использовать настроенное значение коммутатора, создав BooleanSwitch имя с таким же именем, как показано в следующем примере кода.

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 .NET Core и .NET 5+ свойство нового коммутатора устанавливается false по умолчанию.

Для приложений .NET Framework свойство задается с помощью значения, Enabled указанного в файле конфигурации. Настройте параметр со значением 0, чтобы задать Enabled для свойства falseзначение; настройте параметр с ненулевое значение, чтобы задать Enabled для свойства trueзначение . BooleanSwitch Если конструктор не может найти начальные параметры коммутатора в файле конфигурации, Enabled для свойства нового коммутатора задано значение false.

Для использования коммутатора необходимо включить трассировку или отладку. Следующий синтаксис является определенным компилятором. Если вы используете компиляторы, отличные от C# или Visual Basic, обратитесь к документации для компилятора.

  • Чтобы включить отладку в C#, добавьте /d:DEBUG флаг в командную строку компилятора при компиляции кода или добавьте #define DEBUG в начало файла. В Visual Basic добавьте /d:DEBUG=True флаг в командную строку компилятора.

  • Чтобы включить трассировку в C#, добавьте /d:TRACE флаг в командную строку компилятора при компиляции кода или добавьте #define TRACE в начало файла. В Visual Basic добавьте /d:TRACE=True флаг в командную строку компилятора.

Замечание

Эти параметры компилятора отладки и трассировки не требуются при использовании BooleanSwitch класса в изоляции. Они требуются только в сочетании с Trace методами Debug , которые условно скомпилированы.

Дополнительные сведения о инструментировании приложения см. в разделе Debug и Trace. Дополнительные сведения о настройке и использовании коммутаторов трассировки см. в разделе "Коммутаторы трассировки".

Замечание

Чтобы повысить производительность, можно сделать BooleanSwitch элементы static в классе.

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

Имя Описание
BooleanSwitch(String, String, String)

Инициализирует новый экземпляр BooleanSwitch класса с указанным отображаемым именем, описанием и значением переключения по умолчанию.

BooleanSwitch(String, String)

Инициализирует новый экземпляр BooleanSwitch класса с указанным отображаемым именем и описанием.

Свойства

Имя Описание
Attributes

Возвращает настраиваемые атрибуты коммутатора, определенные в файле конфигурации приложения.

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

Возвращает значение по умолчанию, назначенное конструктором.

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

Возвращает описание переключателя.

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

Возвращает имя, используемое для идентификации коммутатора.

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

Возвращает или задает значение, указывающее, включен или отключен параметр.

SwitchSetting

Возвращает или задает текущий параметр для этого параметра.

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

Возвращает или задает значение коммутатора.

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

Методы

Имя Описание
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

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

Служит хэш-функцией по умолчанию.

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

Возвращает настраиваемые атрибуты, поддерживаемые параметром.

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

Возвращает Type текущего экземпляра.

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

Создает неглубокую копию текущей Object.

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

Вызывается при SwitchSetting изменении свойства.

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

Определяет, можно ли анализировать новое значение Value свойства как логическое значение.

Refresh()

Обновляет данные конфигурации трассировки.

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

Возвращает строку, представляющую текущий объект.

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

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

См. также раздел