Поделиться через


Практическое руководство. Использование класса, в котором определяются операторы (Visual Basic)

Если вы используете класс или структуру, определяющую собственные операторы, вы можете получить доступ к этим операторам из Visual Basic.

Определение оператора класса или структуры также называется перегрузкой оператора.

Пример

В следующем примере выполняется доступ к структуре SqlStringSQL, которая определяет операторы преобразования (функция CType) в обоих направлениях между строкой SQL и строкой 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 определяет оператор преобразования (функция CType) из StringSqlString другого в другой.SqlStringString Оператор, назначенный titlejobTitle для использования первого оператора, и MsgBox вызов функции использует второй.

Компиляция кода

Убедитесь, что используемый класс или структура определяют оператор, который вы хотите использовать. Не предполагайте, что класс или структура определили каждый оператор, доступный для перегрузки. Список доступных операторов см. в инструкции оператора.

Включите соответствующую Imports инструкцию для строки SQL в начале исходного файла (в данном случае System.Data.SqlTypes).

Проект должен иметь ссылки на System.Data и System.XML.

См. также