Share via


How to: Call an Operator Procedure 

You call an operator procedure by using the operator symbol in an expression. In the case of a conversion operator, you call it by calling the CType Function to convert a value from one data type to another.

You do not call operator procedures explicitly. You simply use the operator, or the CType function, in an assignment statement or an expression, the same way you normally use an operator. Visual Basic makes the call to the operator procedure.

Defining an operator on a class or structure is also called overloading the operator.

To call an operator procedure

  1. Use the operator symbol in an expression in the normal way.

  2. Be sure the data types of the operands are appropriate for the operator, and in the correct order.

  3. The operator contributes to the value of the expression as expected.

To call a conversion operator procedure

  1. Use CType inside an expression.

  2. Be sure the data types of the operands are appropriate for the conversion, and in the correct order.

  3. CType calls the conversion operator procedure and returns the converted value.

Example

The following example creates two TimeSpan structures, adds them together, and stores the result in a third TimeSpan structure. The TimeSpan structure defines operator procedures to overload several standard operators.

Dim firstSpan As New TimeSpan(3, 30, 0)
Dim secondSpan As New TimeSpan(1, 30, 30)
Dim combinedSpan As TimeSpan = firstSpan + secondSpan
Dim s As String = firstSpan.ToString() & _
          " + " & secondSpan.ToString() & _
          " = " & combinedSpan.ToString()
MsgBox(s)

Because TimeSpan overloads the standard + operator, the preceding example calls an operator procedure when it calculates the value of combinedSpan.

For an example of calling a conversation operator procedure, see How to: Use a Class that Defines Operators.

Compiling the Code

Be sure the class or structure you are using defines the operator you want to use.

See Also

Tasks

How to: Define an Operator
How to: Define a Conversion Operator
How to: Declare a Structure

Reference

Operator Statement
Widening
Narrowing
Structure Statement

Concepts

Operator Procedures
Implicit and Explicit Conversions
Widening and Narrowing Conversions