You call an operator procedure by using the operator symbol in an expression. In the case of a conversion operator, you call the CType Function to convert a value from one data type to another.
You do not call operator procedures explicitly. You just use the operator, or the
CType function, in an assignment statement or an expression, the same way you ordinarily 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
Use the operator symbol in an expression in the ordinary way.
Be sure the data types of the operands are appropriate for the operator, and in the correct order.
The operator contributes to the value of the expression as expected.
To call a conversion operator procedure
CTypeinside an expression.
Be sure the data types of the operands are appropriate for the conversion, and in the correct order.
CTypecalls the conversion operator procedure and returns the converted value.
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 previous example calls an operator procedure when it calculates the value of
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.
How to: Define an Operator
How to: Define a Conversion Operator
How to: Declare a Structure
Implicit and Explicit Conversions
Widening and Narrowing Conversions