VB.NET编程语言中的运算符是一个比较庞大的集体,不过要想全部掌握这些运算符的应用并不是一件容易的事情。这其中,运算符过程是一系列VB.NET语句,这些语句在您所定义的类或结构上定义标准运算符(例如 *、<> 或 And)的行为。这也称为“运算符重载”。#t#
何时定义VB.NET运算符过程
运算符过程可以是下面的一种类型:
一元运算符的定义,其中的参数是您的类或结构的类型。
一个二元运算符的定义,其中至少一个参数是您的类或结构的类型。
一个转换运算符的定义,其中的参数是您的类或结构的类型。
一个转换运算符的定义,返回您的类或结构的类型。
转换运算符总是一元运算符,您也总是将 CType 用作所定义的运算符。
声明语法
使用表达式中的运算符符号隐式调用VB.NET运算符过程。按照为预定义运算符提供操作数的方法提供操作数。
隐式调用运算符过程的语法如下所示:
Dim testStruct As 结构名
Dim testNewStruct As 结构名 = testStruct 运算符符号 10
声明与调用阐释
下面的结构将有符号的 128 位整数值存储为高序部分和低序部分。它将 + 运算符定义为将两个 veryLong 值相加并生成结果 veryLong 值。
- Visual Basic
- Public Structure veryLong
- Dim highOrder As Long
- Dim lowOrder As Long
- Public Shared Operator +(ByVal v As veryLong, _
- ByVal w As veryLong) As veryLong
- Dim sum As New veryLong
- sum = v
- Try
- sum.lowOrder += w.lowOrder
- Catch ex As System.OverflowException
- sum.lowOrder -= (Long.MaxValue - w.lowOrder + 1)
- sum.highOrder += 1
- End Try
- sum.highOrder += w.highOrder
- Return sum
- End Operator
- End Structure
下面的示例演示对 veryLong 上定义的 + 运算符的典型调用。
- Visual Basic
- Dim v1, v2, v3 As veryLong
- v1.highOrder = 1
- v1.lowOrder = Long.MaxValue
- v2.highOrder = 0
- v2.lowOrder = 4
- v3 = v1 + v2
VB.NET运算符过程的使用方法就为大家介绍到这里。