Criando uma sub condicional - Excluindo em run-time

Um recurso muito interessante no .NET é o atributo Conditional, que pode ser aplicado em SUBs da seguinte forma :

<Conditional("LOG")> Sub teste()

End Sub


LOG é uma constante de compilação, o nome inventei, poderia ser qualquer coisa. Isso permite que essa sub faça ou não parte do código dependendo da existência desta constante.

A complexidade disso está no fato de que se a sub fosse simplesmente retirada do código, todas as chamadas dela falhariam. Com o atributo Conditional não apenas a sub é eliminada, mas todas as chamadas a ela.

A presença ou não da sub é controlada pela constante LOG. Para definir esta constante devemos entrar nas propriedades do projeto, Configuration Properties->Build

Na parte inferior da tela encontramos uma caixa chamada Custom Constants, na qual podemos definir a constante : LOG=true

Podemos manter essa constante enquanto desenvolvemos e retira-la em run-time, por exemplo. Muitas outras alternativas podem ser imaginadas.