Compartilhar via


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:

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)

OverflowException

InvalidCastException

Instrução Operator

Conceitos

Conversão de tipos no .NET Framework