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


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, который выводит сообщение об ошибке и место возникновения ошибки.

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

Комментарии

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

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

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

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

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

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

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

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

  • Чтобы включить отладку /d:DEBUG в C#, добавьте флаг в командную строку компилятора при компиляции кода или в #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)

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

BooleanSwitch(String, 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 как логическое значение.

OnValueChanged()

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

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

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

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

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

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

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

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