Você sabe o que é Compilação Condicinal?
Compilação Condicional é uma técnica utilizada em programação para incluir ou excluir partes do código durante o processo de compilação, com base em condições especificadas pelo programador. Isso permite que você controle quais partes do código são compiladas e incluídas no programa final, dependendo de variáveis ou diretivas definidas no código fonte.
A linguagem C# também tem suporte à compilação condicional, usa o símbolo "#" e diretivas de pré-processamento, como #define , #if , #else e #endif para determinar quais partes do código serão compiladas.
#define
A principal utilidade do #define
é permitir que você escreva código que só será compilado se determinado símbolo estiver definido.
#if VersaoProfissional
const bool PermitirIntegrações = true;
const bool PermitirSuporteTecnico = true;
#else
const bool PermitirIntegrações = false;
const bool PermitirSuporteTecnico = false;
#endif
Console.WriteLine($"Permitir Integrações: {PermitirIntegrações}");
Console.WriteLine($"Permitir Suporte Tecnico: {PermitirSuporteTecnico}");
Agora siga os seguintes passos:
Clique com o botão direito do mouse sobre o nome do projeto. No menu de contexto, selecione a opção Propriedades;
A página de propriedades do projeto será exibida. No menu da esquerda, clique na guia Build para ativar a página.
Execute o projeto em modo debug
#error #warn
O #erro e o #warn serve para avisar ao desenvolvedor sobre erros ou avisos no processo de compilação
#if VersaoProfissional && VersaoTestes
#error O sistema não pode ser Profissional e de Testes ao mesmo tempo
#endif
#DEBUG
A constante DEBUG é inserida de forma automática quando compilamos o programa em modo Debug e suprimida quando selecionamos o modo Release.
#if DEBUG
Console.WriteLine($"Você está em debug.");
#else
Console.WriteLine($"Você está em release.");
#endif
#region Nome_da_região #endregion
As diretivas de pré-processador #region e #endregion são usadas para criar regiões no código-fonte.
#region Main
for (int i = 0; i < 10000; i++)
{
#region Mostrar apenas os pares
if (i % 2 == 0)
Console.WriteLine($"é par {i}");
#endregion
}
#endregion
Conclusão
Conforme você pôde observar a linguagem C# oferece recursos interessantes de compilação condicional por meio de suas diretivas de pré-processador. entretanto, a compilação condicional não será capaz de resolver todos os nossos problemas. Por isso tenha essa conhecimento como uma "carta na manga" para momentos em que se fizer necessário.
Veja o código completo aqui https://github.com/tatianacardosolima/Exemplos.NET.Blog/blob/main/src/CompilacaoCondicional/Program.cs
Subscribe to my newsletter
Read articles from Tatiana Lima directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Tatiana Lima
Tatiana Lima
I am developer