Operandi di tipo Object usati in espressioni per istruzioni 'Select' e 'Case'. Potrebbero verificarsi errori di runtime

Aggiornamento: novembre 2007

Operands of type Object used in expressions for 'Select', 'Case' statements; runtime errors could occur

Una costruzione Select...Case utilizza una o più espressioni delTipo di dati Object.

Quando una variabile o un'espressione restituisce Object, il compilatore deve eseguire un'associazione tardiva che comporta l'esecuzione di ulteriori operazioni in fase di esecuzione ed espone l'applicazione a possibili errori di runtime. Se ad esempio si assegna Form a una variabile Object e quindi si prova a confrontarla con un numero, viene generata un'eccezione InvalidCastException perché Visual Basic non supporta la conversione di un oggetto Form in un valore numerico.

Le espressioni contenute in una costruzione Select...Case devono presentare tutte lo stesso tipo di dati oppure tipi di dati strettamente correlati e convertibili tra di loro. Questo perchè almeno un valore di ogni istruzione Case viene confrontato con l'espressione di test sulla quale si basa la costruzione Select...Case.

Per impostazione predefinita, si tratta di un messaggio di avviso. Per informazioni su come nascondere gli avvisi o considerarli come errori, vedere Configurazione degli avvisi in Visual Basic.

ID errore: BC42036

Per correggere l'errore

  • Se possibile, organizzare tutte le espressioni in modo che restituiscano i tipi di dati per i quali sono stati definiti gli operatori di confronto.

Vedere anche

Concetti

Operatori aritmetici in Visual Basic

Operatori di confronto in Visual Basic

Riferimenti

Istruzione Select...Case (Visual Basic)