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


Практическое руководство. Вызов процедуры оператора (Visual Basic)

Вы вызываете процедуру оператора с помощью символа оператора в выражении. В случае оператора преобразования вызывается функция CType для преобразования значения из одного типа данных в другой.

Процедуры оператора не вызываются явным образом. Вы просто используете оператор или функцию в операторе назначения или 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.

Пример вызова процедуры оператора беседы см. в разделе "Практическое руководство. Использование класса, определяющего операторы".

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

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

См. также