Função CType (Visual Basic)
Retorna o resultado da conversão explícita de uma expressão em um tipo de dados, objeto, classe ou interface especificada.
CType(expression, typename)
Partes
expression
Qualquer expressão válida. Se o valor expression está fora do intervalo permitido por typename, o Visual Basic gera uma exceção.typename
Qualquer expressão que é legal dentro de uma cláusula As em uma instrução Dim, isto é, o nome de qualquer tipo de dados, objeto, estrutura, classe ou interface.
Comentários
Dica
Você também pode usar as seguintes funções para executar uma conversão de tipos:
-
A conversão de tipos funciona como CByte, CDbl, e CInt que executa uma conversão para um tipo de dados específico.Para obter mais informações, consulte Funções de conversão do tipo (Visual Basic).
-
Operador DirectCast (Visual Basic) ou Operador TryCast (Visual Basic).Esses operadores exigem que um tipo herde de outro tipo ou implemente outro tipo.Podem fornecer um desempenho de alguma forma melhor do que CType ao converterem de e para o tipo de dados Object.
CType é compilado embutido, o que significa que o código de conversão é parte do código que avalia a expressão. Em alguns casos, o código é executado mais rápido porque nenhum procedimento é chamado para realizar a conversão.
Se nenhuma conversão é definida de expression para typename (por exemplo, Integer para Date), o Visual Basic exibe uma mensagem de erro em tempo de compilação.
Se uma conversão falhar em tempo de execução, a exceção apropriada é lançada. Se uma conversão de redução falhar, OverflowException é o resultado mais comum. Se a conversão é indefinida, um InvalidCastException em lançada. Por exemplo, isso pode acontecer se expression for do tipo Object e seu tipo de tempo de execução não tiver nenhuma conversão para o typename.
Se o tipo de dado de expression ou de typename for uma classe ou uma estrutura que você definiu, você poderá definir CType na classe ou na estrutura como um operador de conversão. Isso faz com que o CType atue como um operador sobrecarregado. Se você fizer isso, poderá controlar o comportamento de conversões de e para sua classe ou estrutura, incluindo as exceções que podem ser lançadas.
Sobrecarga
O operador CType também pode ser sobrecarregado em uma classe ou estrutura definida fora do seu código. Se o seu código converte para ou a partir de tal classe ou estrutura, esteja certo de que entende o comportamento do seu operador CType. Para obter mais informações, consulte Procedimentos do operador (Visual Basic).
Convertendo objetos dinâmicos
Conversões de tipos de objetos dinâmicos são executadas pela conversões dinâmicas definidas pelo usuário que usam os métodos de TryConvert ou de BindConvert. Se você estiver trabalhando com objetos dinâmicos, use o método CTypeDynamic para converter o objeto dinâmico.
Exemplo
O exemplo a seguir usa a função CType para converter uma expressão para o tipo de dados Single.
Dim testNumber As Long = 1000
' The following line of code sets testNewType to 1000.0.
Dim testNewType As Single = CType(testNumber, Single)
Para exemplos adicionais, consulte Conversões implícitas e explícitas (Visual Basic).
Consulte também
Tarefas
Como definir um operador de conversão (Visual Basic)
Referência
Funções de conversão do tipo (Visual Basic)
Funções de conversão (Visual Basic)