VB.NET運算符過程應(yīng)在何時定義
VB.NET編程語言中的運算符是一個比較龐大的集體,不過要想全部掌握這些運算符的應(yīng)用并不是一件容易的事情。這其中,運算符過程是一系列VB.NET語句,這些語句在您所定義的類或結(jié)構(gòu)上定義標(biāo)準(zhǔn)運算符(例如 *、<> 或 And)的行為。這也稱為“運算符重載”。#t#
何時定義VB.NET運算符過程
運算符過程可以是下面的一種類型:
一元運算符的定義,其中的參數(shù)是您的類或結(jié)構(gòu)的類型。
一個二元運算符的定義,其中至少一個參數(shù)是您的類或結(jié)構(gòu)的類型。
一個轉(zhuǎn)換運算符的定義,其中的參數(shù)是您的類或結(jié)構(gòu)的類型。
一個轉(zhuǎn)換運算符的定義,返回您的類或結(jié)構(gòu)的類型。
轉(zhuǎn)換運算符總是一元運算符,您也總是將 CType 用作所定義的運算符。
聲明語法
使用表達(dá)式中的運算符符號隱式調(diào)用VB.NET運算符過程。按照為預(yù)定義運算符提供操作數(shù)的方法提供操作數(shù)。
隱式調(diào)用運算符過程的語法如下所示:
Dim testStruct As 結(jié)構(gòu)名
Dim testNewStruct As 結(jié)構(gòu)名 = testStruct 運算符符號 10
聲明與調(diào)用闡釋
下面的結(jié)構(gòu)將有符號的 128 位整數(shù)值存儲為高序部分和低序部分。它將 + 運算符定義為將兩個 veryLong 值相加并生成結(jié)果 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 上定義的 + 運算符的典型調(diào)用。
- 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運算符過程的使用方法就為大家介紹到這里。