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