Функция CType
Обновлен: Ноябрь 2007
Возвращает результат явного преобразования выражения в заданный тип данных, объект, структуру, класс или интерфейс.
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. Дополнительные сведения см. в разделе Процедуры операторов.
Пример
В этом примере функция CType используется для приведения выражения к заданному типу данных.
Dim testNumber As Long = 1000
' The following line of code sets testNewType to 1000.0.
Dim testNewType As Single = CType(testNumber, Single)
См. также
Задачи
Практическое руководство. Определение оператора преобразования