如何:调用运算符过程 (Visual Basic)

使用表达式中的运算符符号调用一个运算符过程。 如果是转换运算符,可以调用 CType 函数 (Visual Basic),将值从一种数据类型转换为另一种数据类型。

请勿显示调用运算符过程。 您只是在赋值语句或表达式中使用运算符或 CType 函数,方法与正常使用运算符相同。 Visual Basic 完成对运算符过程的调用。

在类或结构上定义一个运算符也称为重载运算符。

调用运算符过程

  1. 以正常方式使用表达式中的运算符符号。

  2. 请确保操作数的数据类型适合于运算符,且顺序正确。

  3. 运算符按预期方式提供表达式的值。

调用转换运算符过程

  1. 使用表达式内的 CType。

  2. 请确保操作数的数据类型适合于转换,且顺序正确。

  3. CType 调用转换运算符过程,并返回转换后的值。

示例

下面的示例创建两个 TimeSpan 结构,并将它们加起来,然后将结果存储在第三个 TimeSpan 结构中。 TimeSpan 结构定义运算符过程,以重载多个标准运算符。

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)

由于 TimeSpan 重载标准 + 运算符,当它计算 combinedSpan 的值时,上面的示例将调用一个运算符过程。

有关调用转换运算符过程的示例,请参见 如何:使用定义运算符的类 (Visual Basic)

编译代码

请确保所使用的类或结构定义了要使用的运算符。

请参见

任务

如何:定义运算符 (Visual Basic)

如何:定义转换运算符 (Visual Basic)

如何:声明结构 (Visual Basic)

参考

Operator 语句

Widening (Visual Basic)

Narrowing (Visual Basic)

Structure 语句

概念

运算符过程 (Visual Basic)

隐式转换和显式转换 (Visual Basic)

扩大转换和收缩转换 (Visual Basic)