Variabile '<nomevariabile>' passata per riferimento prima dell'assegnazione di un valore (Variabile della struttura)

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. Accertarsi che la struttura o tutti i membri di riferimento vengano inizializzati prima dell'uso
Variable '<variablename>' is passed by reference before it has been assigned a value. A null reference exception could result at runtime. Make sure the structure or all the reference members are initialized before use

Con la chiamata di routine una variabile di struttura 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 di struttura, ogni membro della struttura conterrà il valore predefinito per il tipo di dati. Per un tipo di dati di riferimento, quel valore predefinito corrisponde a Nothing (Visual Basic). La lettura di un membro 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: BC42108

Per correggere l'errore

  • Se si desidera che la procedura assegni i valori ai membri della struttura attraverso l'argomento ByRef e se il fatto che i membri contengano già valori non è importante, non sarà necessaria alcuna operazione.

  • Se la logica presente nella routine legge un membro della struttura prima di assegnare a questo un valore e se il membro è un tipo di valore, accertarsi che la logica della routine non dipenda dalla presenza di un valore predefinito contenuto nel membro.

  • Se la logica della routine legge il membro della struttura prima di assegnare a questo un valore e se il membro è 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

Istruzione Structure

Altre risorse

Strutture: tipi di dati dell'utente