BooleanSwitch Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece um comutador liga/desliga simples que controla a depuração e a saída de rastreamento.
public ref class BooleanSwitch : System::Diagnostics::Switch
public class BooleanSwitch : System.Diagnostics.Switch
type BooleanSwitch = class
inherit Switch
Public Class BooleanSwitch
Inherits Switch
- Herança
Exemplos
O exemplo a seguir cria um BooleanSwitch e usa a opção para determinar se deseja imprimir uma mensagem de erro. Você cria a opção no nível da classe. O Main
método passa sua localização para MyMethod
, que imprime uma mensagem de erro e onde o erro ocorreu.
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
Comentários
Você pode usar um comutador de rastreamento booliano para habilitar ou desabilitar mensagens com base em sua importância. Use a Enabled propriedade para obter o valor atual da opção.
Você pode criar um BooleanSwitch em seu código e definir a Enabled propriedade diretamente para instrumentar uma seção específica do código.
Somente para aplicativos .NET Framework, você também pode habilitar ou desabilitar um BooleanSwitch por meio do arquivo de configuração do aplicativo e, em seguida, usar o valor configurado BooleanSwitch em seu aplicativo. Para configurar um BooleanSwitch, edite o arquivo de configuração que corresponde ao nome do aplicativo. Nesse arquivo, você pode adicionar ou remover uma opção, definir o valor de uma opção ou limpar todas as opções definidas anteriormente pelo aplicativo. O arquivo de configuração deve ser formatado como o exemplo a seguir.
<configuration>
<system.diagnostics>
<switches>
<add name="mySwitch" value="1"/>
</switches>
</system.diagnostics>
</configuration>
Esta seção de configuração de exemplo define um BooleanSwitch com a DisplayName propriedade definida como mySwitch
e o Enabled valor definido como true
. Em seu aplicativo .NET Framework, você pode usar o valor de comutador configurado criando um BooleanSwitch com o mesmo nome, conforme mostrado no exemplo de código a seguir.
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
Para aplicativos .NET Core e .NET 5+, a Enabled propriedade do novo comutador é definida false
como por padrão.
Para aplicativos .NET Framework, a Enabled propriedade é definida usando o valor especificado no arquivo de configuração. Configure a opção com um valor de 0 para definir a Enabled propriedade como false
; configure a opção com um valor diferente de zero para definir a Enabled propriedade como true
. Se o BooleanSwitch construtor não conseguir encontrar as configurações de comutador inicial no arquivo de configuração, a Enabled propriedade do novo comutador será definida como false
.
Você deve habilitar o rastreamento ou a depuração para usar uma opção. A sintaxe a seguir é específica do compilador. Se você usar compiladores diferentes de C# ou Visual Basic, consulte a documentação do compilador.
Para habilitar a depuração em C#, adicione o
/d:DEBUG
sinalizador à linha de comando do compilador ao compilar o código ou adicione#define DEBUG
à parte superior do arquivo. No Visual Basic, adicione o/d:DEBUG=True
sinalizador à linha de comando do compilador.Para habilitar o rastreamento em C#, adicione o
/d:TRACE
sinalizador à linha de comando do compilador ao compilar o código ou adicione#define TRACE
à parte superior do arquivo. No Visual Basic, adicione o/d:TRACE=True
sinalizador à linha de comando do compilador.
Observação
Essas opções do compilador de depuração e rastreamento não são necessárias ao usar a BooleanSwitch classe isoladamente. Eles são necessários apenas em conjunto com Trace métodos ou Debug que são compilados condicionalmente.
Para obter mais informações sobre como instrumentar seu aplicativo, consulte Debug e Trace. Para obter mais informações sobre como configurar e usar comutadores de rastreamento, consulte Opções de rastreamento.
Observação
Para melhorar o desempenho, você pode criar BooleanSwitch membros static
em sua classe.
Construtores
BooleanSwitch(String, String) |
Inicializa uma nova instância da classe BooleanSwitch com o nome de exibição e a descrição especificados. |
BooleanSwitch(String, String, String) |
Inicializa uma nova instância da classe BooleanSwitch com o nome de exibição, a descrição e o comutador padrão especificados. |
Propriedades
Attributes |
Obtém os atributos de opção personalizados definidos no arquivo de configuração de aplicativo. (Herdado de Switch) |
DefaultValue |
Obtém o valor padrão atribuído no construtor. (Herdado de Switch) |
Description |
Obtém uma descrição do comutador. (Herdado de Switch) |
DisplayName |
Obtém o nome usado para identificar o comutador. (Herdado de Switch) |
Enabled |
Obtém ou define um valor que indica se comutador está habilitado ou desabilitado. |
SwitchSetting |
Obtém ou define a configuração atual para essa opção. (Herdado de Switch) |
Value |
Obtém ou define o valor da opção. (Herdado de Switch) |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetSupportedAttributes() |
Obtém os atributos personalizados com suporte do comutador. (Herdado de Switch) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
OnSwitchSettingChanged() |
Invocado quando a propriedade SwitchSetting é alterada. (Herdado de Switch) |
OnValueChanged() |
Determina se o novo valor da propriedade Value pode ser analisado como um valor booliano. |
OnValueChanged() |
Invocado quando a propriedade Value é alterada. (Herdado de Switch) |
Refresh() |
Atualiza os dados de configuração de rastreamento. (Herdado de Switch) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |