Variabile '<nomevariabile>' passata per riferimento prima dell'assegnazione di un valore

Aggiornamento: novembre 2007

Messaggio di errore

La variabile "<nomevariabile>" viene passata per riferimento prima che le venga assegnato un valore. In fase di esecuzione potrebbe venire generata un'eccezione dovuta a un riferimento nullo.
Variable '<variablename>' is passed by reference before it has been assigned a value. A null reference exception could result at run time.

Con la chiamata di routine una variabile viene passata come argomento a un parametro ByRef prima dell'assegnazione di qualsiasi valore alla variabile.

Se non è mai stato assegnato alcun valore a una variabile, questa manterrà il valore predefinito per il tipo di dati. Per un tipo di dati di riferimento, tale valore corrisponde a Nothing (Visual Basic). La lettura di una variabile di riferimento con un valore corrispondente a Nothing può causare un'eccezione NullReferenceException in alcune circostanze.

Il passaggio di un argomento a una routine ByRef espone la variabile sottostante all'argomento a possibili modifiche da parte della procedura.

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

ID errore: BC42030

Per correggere l'errore

  • Se si desidera che la procedura assegni un valore alla variabile attraverso l'argomento ByRef e se il fatto che la variabile contenga già un valore non è importante, non sarà necessaria alcuna operazione.

  • Se la logica presente nella routine legge l'argomento prima di assegnare a questo un valore e se la variabile è un tipo di valore, accertarsi che la logica della routine non dipenda dalla presenza di un valore predefinito contenuto nella variabile.

  • Se la logica della procedura legge l'argomento prima di assegnare a questo un valore e se la variabile è un tipo di riferimento, accertarsi che la logica della routine sia in grado di gestire un valore di Nothing. Potrebbe ad esempio utilizzare un' Istruzione Try...Catch...Finally (Visual Basic) per intercettare un'NullReferenceException.

Vedere anche

Attività

Risoluzione dei problemi relativi alle variabili in Visual Basic

Concetti

Tipi valore e tipi riferimento

Passaggio di argomenti per valore e per riferimento

Dichiarazione di variabili in Visual Basic

Riferimenti

Istruzione Dim (Visual Basic)

ByRef