Partilhar via


Option Strict On não permite conversões implícitas de '<type1>' em '<type2>'

Você tentou converter um tipo em outro tipo que não poderá conter o valor sistema autônomo um Long para um Integer, enquanto o tipo de verificação comutador ()Opção declaração estrito) está definida sistema autônomo On.

Esse tipo de conversão é denominado um conversão de restrição e ele é possível que ele falhe em time de execução.Por esse motivo, Option Strict On não permite conversões implícitas de restrição.

ID de erro: BC30512

Para corrigir este erro

  1. Determinar se existe uma conversão de qualquer tipo de <type1> para <type2>. Se ambos estiverem Visual Basic tipos de elementares, ou se ambos forem instâncias de classes, geralmente fazer essa determinação, consultando a tabela na Conversões Ampliadoras e Redutoras.

  2. Se apenas uma limitação existe conversão de <type1> para <type2>, você deve usar a conversão explícita. O CType Function e DirectCast palavras-chave acionar uma exceção em tempo de execução se a conversão falhar.The TryCast palavra-chave se aplica somente a tipos de referência e retorna Nada (Visual Basic) Se a conversão falhar.

  3. Se existe uma conversão de restrição e seu programa pode tolerar uma falha de time de execução ou se tem certeza de que uma falha de time de execução não é possível, você pode especificar Option Strict Off no início do seu código-fonte. Mas você ainda deve colocar a conversão em um Try... Catch... Finally demonstrativo (Visual Basic) bloco para evitar resultados inesperados ou ao término antecipado do seu programa.

  4. Não se existir nenhuma conversão de <type1> para <type2>, devem reavaliar a lógica do programa. Você poderá escrever código que pode atribuir valores a <type2> correspondentes aos valores previstos de <type1>.

  5. Não se existir nenhuma conversão de <type1> para <type2> e um dos tipos é uma classe ou estrutura definida, talvez consiga definir um operador de conversão desse tipo ou para Outros tipo. Para obter mais informações, consulte Como: Define a Conversion operador.

  6. Em todos sistema autônomo casos e sistema autônomo diretriz geral, evite usar conversões de restrição, a menos que você pode ajustar o registro de falhas em um Catch Bloquear e lidar com eles com eficiência.

Consulte também

Tarefas

Como: Define a Conversion operador

Conceitos

Conversões Ampliadoras e Redutoras

Referência

Opção declaração estrito

CType Function

DirectCast

TryCast

Nada (Visual Basic)

Try... Catch... Finally demonstrativo (Visual Basic)