如何:使用定义运算符的类 (Visual Basic)

如果使用定义了自己的运算符的类或结构,则可以从 Visual Basic 访问这些运算符。

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

示例

下面的示例访问 SQL 结构 SqlString,它定义了 SQL 字符串和 Visual Basic 字符串之间的双向转换运算符 (CType 函数 (Visual Basic))。 使用 CType(SQL 字符串表达式, String) 将 SQL 字符串转换为 Visual Basic 字符串,而使用 CType(Visual Basic 字符串表达式, SqlString) 执行反向转换。

' Insert the following line at the beginning of your source file.
Imports System.Data.SqlTypes
Public Sub setJobString(ByVal g As Integer)
    Dim title As String
    Dim jobTitle As System.Data.SqlTypes.SqlString
    Select Case g
        Case 1
            title = "President"
        Case 2
            title = "Vice President"
        Case 3
            title = "Director"
        Case 4
            title = "Manager"
        Case Else
            title = "Worker"
    End Select
    jobTitle = CType(title, SqlString)
    MsgBox("Group " & CStr(g) & " generates title """ &
          CType(jobTitle, String) & """")
End Sub

SqlString 结构定义从 String 到 SqlString 的转换运算符 (CType 函数 (Visual Basic)),以及从 SqlString 到 String 的另一个转换运算符。 将 title 赋给 jobTitle 的语句使用第一个运算符,而 MsgBox 函数调用使用第二个运算符。

编译代码

请确保所使用的类或结构定义了要使用的运算符。 不要假设类或结构已经定义每个可进行重载的运算符。 有关可用运算符的列表,请参见 Operator 语句

请在源文件的开头添加相应于 SQL 字符串的 Imports 语句(在本例中为 System.Data.SqlTypes)。

项目必须具有对 System.Data 和 System.XML 的引用。

请参见

任务

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

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

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

如何:声明结构 (Visual Basic)

参考

Widening (Visual Basic)

Narrowing (Visual Basic)

Structure 语句

概念

运算符过程 (Visual Basic)

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

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