Skip to Content
Programming Visual Basic .NET
book

Programming Visual Basic .NET

by Dave Grundgeiger
December 2001
Beginner
464 pages
13h 51m
English
O'Reilly Media, Inc.
Content preview from Programming Visual Basic .NET

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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Learning Visual Basic .NET

Learning Visual Basic .NET

Jesse Liberty

Publisher Resources

ISBN: 0596000936Catalog PageErrata