Condividi tramite


Operandi di tipo Object usati in espressioni per istruzioni 'Select' e 'Case'; potrebbero verificarsi errori in fase di esecuzione

Una costruzione Select...Case usa una o più espressioni del Object Data Type.

Quando una variabile o espressione restituisce Object, il compilatore deve eseguire un' associazione tardiva, che comporta l'esecuzione di operazioni supplementari in fase di esecuzione. Espone inoltre l'applicazione a possibili errori di runtime. Se ad esempio si assegna un oggetto 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 Configuring Warnings 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.

Vedi anche