Conditional Compilation
Conditional compilation is the ability to specify that a certain block of code will be compiled into the application only under certain conditions. Conditional compilation uses precompiler directives to affect which lines are included in the compilation process. This feature is often used to wrap code used only for debugging. For example:
#Const DEBUG = True
Public Sub SomeMethod( )#If DEBUG Then
Console.WriteLine("Entering SomeMethod( )")#End If
' ...#If DEBUG Then
Console.WriteLine("Exiting SomeMethod( )")#End If
End Sub
The #Const
directive defines a symbolic constant
for the compiler. This constant is later referenced in the
#If
directives. If the constant evaluates to
True
, the statements within the
#If
block are compiled into the application. If
the constant evaluates to False
, the statements
within the #If
block are ignored.
The scope of constants defined by the #Const
directive is the source file in which the directive appears. However,
if the constant is referenced prior to the definition, its value is
Nothing
. It is therefore best to define constants
near the top of the file. Alternatively, compiler constants can be
defined on the command line or within the Visual Studio .NET IDE. If
you’re compiling from the command line, use the
/define
compiler switch, like this:
vbc MySource.vb /define:DEBUG=True
You can set multiple constants within a single
/define
switch by separating the
symbol
=
value
pairs with commas, like this:
vbc MySource.vb ...
Get Programming Visual Basic .NET now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.