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.
- 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.
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))
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)