BooleanSwitch Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Fornece um comutador de ativação/desativação simples que controla a depuração e a saída de rastreio.
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 seguinte cria um BooleanSwitch e usa o interruptor para determinar se deve imprimir uma mensagem de erro. Crias o interruptor ao nível da turma. O Main método passa a sua localização para MyMethod, que imprime uma mensagem de erro e indica onde o erro ocorreu.
// 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
Observações
Pode usar um comutador de rastreamento booleano para ativar ou desativar mensagens consoante a sua importância. Usa a Enabled propriedade para obter o valor atual do switch.
Podes criar um BooleanSwitch no teu código e definir a Enabled propriedade diretamente para instrumentar uma secção específica do código.
Para .NET aplicações Framework, também pode ativar ou desativar um BooleanSwitch através do ficheiro de configuração da aplicação e depois usar o valor configurado BooleanSwitch na sua aplicação. Para configurar um BooleanSwitch, edita o ficheiro de configuração que corresponde ao nome da tua aplicação. Dentro deste ficheiro, pode adicionar ou remover um interruptor, definir o valor de um interruptor ou eliminar todos os interruptores previamente definidos pela aplicação. O ficheiro de configuração deve ser formatado como o seguinte exemplo.
<configuration>
<system.diagnostics>
<switches>
<add name="mySwitch" value="1"/>
</switches>
</system.diagnostics>
</configuration>
Esta secção de configuração de exemplo define a com a DisplayName propriedade definida como mySwitch e o Enabled valor definido como true.BooleanSwitch Dentro da sua aplicação .NET Framework, pode usar o valor do switch configurado criando um BooleanSwitch com o mesmo nome, como mostrado no seguinte exemplo de código.
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 .NET aplicações Core e .NET 5+, a propriedade Enabled do novo switch está definida por defeito para false.
Para .NET aplicações Framework, a propriedade Enabled é definida usando o valor especificado no ficheiro de configuração. Configure o switch com valor 0 para definir a Enabled propriedade para false; configure o switch com um valor diferente de zero para definir a Enabled propriedade para true. Se o BooleanSwitch construtor não conseguir encontrar as definições iniciais do comutador no ficheiro de configuração, a Enabled propriedade do novo comutador é definida para false.
Tens de ativar o rastreamento ou depuração para usar um switch. A sintaxe seguinte é específica do compilador. Se usar compiladores que não sejam C# ou Visual Basic, consulte a documentação do seu compilador.
Para permitir a depuração em C#, adicione a
/d:DEBUGflag à linha de comandos do compilador quando compilar o seu código, ou pode adicionar#define DEBUGno topo do seu ficheiro. Em Visual Basic, adicione a flag/d:DEBUG=Trueà linha de comandos do compilador.Para ativar o traçado em C#, adicione a
/d:TRACEflag à linha de comandos do compilador quando compilar o seu código, ou adicione#define TRACEno topo do seu ficheiro. Em Visual Basic, adicione a flag/d:TRACE=Trueà linha de comandos do compilador.
Note
Estes comutadores de compilador de depuração e traço não são necessários quando a classe é usada BooleanSwitch isoladamente. São apenas exigidos em conjunto com Trace ou Debug métodos que sejam compilados condicionalmente.
Para mais informações sobre a instrumentação da sua aplicação, consulte Debug e Trace. Para mais informações sobre a configuração e utilização de comutadores de traço, consulte Comutadores de Traço.
Note
Para melhorar o desempenho, pode criar BooleanSwitch membros static na sua turma.
Construtores
| Name | Description |
|---|---|
| BooleanSwitch(String, String, String) |
Inicializa uma nova instância da BooleanSwitch classe com o nome de exibição especificado, descrição e valor padrão do switch. |
| BooleanSwitch(String, String) |
Inicializa uma nova instância da BooleanSwitch classe com o nome e descrição especificados. |
Propriedades
| Name | Description |
|---|---|
| Attributes |
Obtém os atributos personalizados do switch definidos no ficheiro de configuração da aplicação. (Herdado de Switch) |
| Description |
Recebe uma descrição da mudança. (Herdado de Switch) |
| DisplayName |
Recebe um nome usado para identificar o interruptor. (Herdado de Switch) |
| Enabled |
Recebe ou define um valor que indica se o interruptor está ativado ou desativado. |
| SwitchSetting |
Obtém ou define a configuração atual deste interruptor. (Herdado de Switch) |
| Value |
Obtém ou define o valor do interruptor. (Herdado de Switch) |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetSupportedAttributes() |
Obtém os atributos personalizados suportados pelo switch. (Herdado de Switch) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| OnSwitchSettingChanged() |
Invocado quando a SwitchSetting propriedade é alterada. (Herdado de Switch) |
| OnValueChanged() |
Determina se o novo valor da Value propriedade pode ser analisado como um valor booleano. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |