Solucionando problemas de exceções: System. InvalidCastException

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

Associated Tips

  • Verifique os tipos de fonte contra os tipos de destino para certificar-se de que a conversão é válida.
    Para obter informações sobre conversões suportada pelo sistema, consulte Convert.

Remarks

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

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

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

E substituí-lo:

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

Consulte também

Tarefas

Como: Use o Assistente de exceção

Como: Converter um objeto para outro tipo no Visual Basic

How to: -De usuário de implementar definiu conversões entre Structs (C# guia de programação)

Referência

InvalidCastException

Conceitos

Converting Strings to .NET Framework Data Types