#define (Referência de C#)
Você usa #define para definir um símbolo. Quando você usa o símbolo como sendo a expressão que é passada para a política de #if, a expressão será avaliada como true, como mostra o exemplo a seguir:
#define DEBUG
Comentários
Dica
A diretiva #define não pode ser usada para declarar valores constantes como geralmente é feito em C e em C++.Constantes em C# são mais bem definidas como membros estáticos de uma classe ou estrutura.Se você tiver várias dessas constantes, considere a criação de uma classe "Constantes" separada para armazená-las.
Os símbolos podem ser usados para especificar condições para compilação. É possível testar o símbolo com #if ou #elif. Você também pode usar o atributo conditional para executar a compilação condicional.
É possível definir um símbolo, mas você não pode atribuir um valor a um símbolo. A diretiva #define deve aparecer no arquivo antes que você use qualquer instrução que não sejam também diretivas de pré-processador.
Você também pode definir um símbolo com a opção de compilador /define. É possível excluir um símbolo com #undef.
Um símbolo que você define com /define ou com #define não está em conflito com uma variável do mesmo nome. Ou seja, um nome de variável não deve ser passado para uma diretiva de pré-processador e um símbolo só poderá ser avaliado por uma diretiva de pré-processador.
O escopo de um símbolo criado usando #define é o arquivo no qual o símbolo foi definido.
Como mostra o exemplo a seguir, você deve colocar as diretivas #define na parte superior do arquivo.
#define DEBUG
//#define TRACE
#undef TRACE
using System;
public class TestDefine
{
static void Main()
{
#if (DEBUG)
Console.WriteLine("Debugging is enabled.");
#endif
#if (TRACE)
Console.WriteLine("Tracing is enabled.");
#endif
}
}
// Output:
// Debugging is enabled.
Para um exemplo de como excluir um símbolo, consulte #undef (Referência de C#).
Consulte também
Tarefas
Como compilar condicionalmente com Trace e Debug
Referência
Diretivas de pré-processador em C#