Практическое руководство. Вызов процедуры оператора
Обновлен: Ноябрь 2007
Вызов оператора процедуры осуществляется с помощью символа оператора в выражении. При наличии такого оператора преобразования следует вызвать Функция CType для преобразования значения из одного типа данных в другой.
Не вызывайте процедуры оператора явным образом. Просто используйте оператор, или функцию CType, в операторе присваивания или выражении тем же способом, каким обычно используете оператор. В Visual Basic выполняется вызов процедуры оператора.
Определение оператора в классе или структуре называется также перегрузкой оператора.
Вызов процедуры оператора
Используйте символ оператора в выражении обычным образом.
Убедитесь, что типы данных операндов соответствуют оператору и имеют правильный порядок.
Оператор относится к значению выражения, как и ожидалось.
Вызов процедуры оператора преобразования
Используйте CType внутри выражения.
Убедитесь, что типы данных операндов соответствуют преобразованию и указаны в правильном порядке.
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.
Пример вызова процедуры оператора преобразования см. в разделе Практическое руководство. Использование класса, в котором определяются операторы.
Компиляция кода
Убедитесь, что используемый класс или структура определяет оператор, который нужно использовать.
См. также
Задачи
Практическое руководство. Определение оператора
Практическое руководство. Определение оператора преобразования
Практическое руководство. Объявление структуры
Основные понятия
Явные и неявные преобразования
Расширяющие и сужающие преобразования