Функция CType (Visual Basic)

Возвращает результат явного преобразования выражения в заданный тип данных, объект, структуру, класс или интерфейс.

CType(expression, typename)

Части

  • expression
    Любое допустимое выражение. Если значение expression находится вне диапазона, разрешенного typename, то Visual Basic создает исключение.

  • typename
    Любое корректное выражение, с оператором As в операторе Dim, т.е. имя любого типа данных, объекта, структуры, класса или интерфейса.

Заметки

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

Если не определено преобразование expression в typename, например из Integer в Date, то Visual Basic отображает сообщение об ошибке при компиляции.

Соответствующее исключение возникает при сбое во время выполнения преобразования. При сбое сужающего преобразования наиболее частым результатом является OverflowException. Если преобразование не определено, то возникает InvalidCastException. Это может произойти, например, если expression имеет тип Object и его тип времени выполнения не имеет преобразования в typename.

Если тип данных expression или typename является классом или структурой, то можно определить CType для класса или структуры в качестве оператора преобразования. Это заставляет CType выполняться как перегруженный оператор. В этом случае можно управлять поведением преобразования в и из класса или структуры, включая генерацию исключений.

Перегрузка

Оператор CType также может быть перегружен для класса или структуры, определяемой вне данного кода. Если код осуществляет преобразование в или из такого класса или структуры, то необходимо понять поведение его оператора CType. Дополнительные сведения см. в разделе Процедуры операторов (Visual Basic).

Преобразование динамических объектов

При работе с динамическими объектами, когда преобразования типов выполняются заданными пользователем динамическими преобразованиями, использующими методы TryConvert или BindConvert, следует использовать методы CTypeDynamic для преобразования динамического объекта.

Пример

В этом примере функция CType используется для приведения выражения к заданному типу данных.

Dim testNumber As Long = 1000
' The following line of code sets testNewType to 1000.0.
Dim testNewType As Single = CType(testNumber, Single)

См. также

Задачи

Практическое руководство. Определение оператора преобразования (Visual Basic)

Ссылки

Функции преобразования типов (Visual Basic)

Функции преобразования (Visual Basic)

OverflowException

InvalidCastException

Оператор Operator