Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB7
Expertise: beginner
Jun 29, 2002

Exclude code portions with the Conditional attribute

VB developers have always used the #IF compiler directive to include or esclude portions of code from the application. The problem with this directive is that you can easily exclude a procedure with a single directive, but it isn't easy to discard all the calls to that procedure (which would raise a compilation error if you discard the target procedure).

VB.NET gives you a great alternative by means of the Conditional attribute. If you mark a procedure with this attribute the procedure itself will NOT be discarded, but all the calls to it will:


<Conditional("LOG")> Sub LogMsg(ByVal MsgText As String)
    Console.WriteLine(MsgText)
End Sub

Sub TestConditionalAttribute()
    LogMsg("Program is starting")
    ' ..
    LogMsg("Program is ending")
End Sub
You can define compilation constants - LOG in the above case - in the Build page of the Project Properties dialog box. You can also use the already-defined TRACE and DEBUG compilation constants. Because the compiler can drop all the calls to the target method- LogMsg, in precedingvious example - the Conditional attribute can only work only with procedures that don't return a value. If your programming logic requires that a value be returned to the caller, you can use ByRef arguments.
Francesco Balena
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date