Compartilhar via


Solucionando problemas de exceções: sistema.InvalidCastException

An InvalidCastException exceção é lançada quando ocorre uma falha durante uma conversão explícita de referência. Conversões de referência são conversões de tipo de uma referência para outro.Enquanto eles podem alterar o tipo da referência, eles nunca altere o tipo ou valor de destino da conversão.A projeção de objetos de um tipo é uma causa freqüente para essa exceção.

Dicas associadas

  • Verificar tipos de fonte em relação a tipos de destino para verificar se que a conversão é válida.
    Para obter informações sobre conversões suportada pelo sistema, consulte Convert.

Comentários

Para uma referência explícita conversão seja bem-sucedido, o valor de fonte deve ser nulo (Nothing no Visual Basic), ou o tipo de objeto referenciado pelo argumento de fonte deve ser conversível no tipo de destino por uma conversão implícita de referência.

Quando um aplicativo com uma telefonar para um evento personalizado em um controle de usuário do Visual Basic 6.0 é atualizado para uma versão mais recente do Visual Basic e execução, essa exceção pode ocorrer com informações adicionais, "conversão especificado inválido." Para resolver esse erro, localize a linha de código a seguir no Form1:

Call UserControl11_MyCustomEvent(UserControl11, New UserControl1.MyCustomEventEventArgs(5))

E substituí-lo com:

Call UserControl11_MyCustomEvent(UserControl11(0), New UserControl1.MyCustomEventEventArgs(5))

Consulte também

Tarefas

Como: Descubra mais sobre uma exceção com Assistente de Exceção

Como: Converter um objeto em outro tipo no Visual Basic

Como: Implementar conversões definidas pelo usuário entre as estruturas (Guia de programação C#)

Conceitos

Converting Cadeia de caracteres to Tipos .NET Framework Dados

Referência

InvalidCastException

Outros recursos

Visual J#