Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.

IsTrue Operator 

Determines whether an expression is True.

You cannot call IsTrue explicitly in your code, but the Visual Basic compiler can use it to generate code from OrElse clauses. If you define a class or structure and then use a variable of that type in an OrElse clause, you must define IsTrue on that class or structure.

The compiler considers the IsTrue and IsFalse operators as a matched pair. This means that if you define one of them, you must also define the other one.

When you have defined a class or structure, you can use a variable of that type in a For, If, Else If, or While statement, or in a When clause. If you do this, the compiler requires an operator that converts your type into a Boolean value so it can test a condition. It searches for a suitable operator in the following order:

  1. A widening conversion operator from your class or structure to Boolean.

  2. The IsTrue operator on your class or structure.

  3. A narrowing conversion operator from your class or structure to Boolean.

If you have not defined any conversion to Boolean or an IsTrue operator, the compiler signals an error.

NoteNote

The IsTrue operator can be overloaded, which means that a class or structure can redefine its behavior when its operand has the type of that class or structure. If your code uses this operator on such a class or structure, be sure you understand its redefined behavior. For more information, see Operator Procedures.

The following code example defines the outline of a structure that includes definitions for the IsFalse and IsTrue operators.

Public Structure p
    Dim a As Double
    Public Shared Operator IsFalse(ByVal w As p) As Boolean
        Dim b As Boolean
        ' Insert code to calculate IsFalse of w.
        Return b
    End Operator
    Public Shared Operator IsTrue(ByVal w As p) As Boolean
        Dim b As Boolean
        ' Insert code to calculate IsTrue of w.
        Return b
    End Operator
End Structure

Community Additions

ADD
Show:
© 2015 Microsoft