La variabile '<nomevariabile>' è stata passata per riferimento prima dell'assegnazione di un valore (variabile di struttura)

La variabile '<variablename>' è stata passata per riferimento prima dell'assegnazione di un valore. È possibile che in fase di esecuzione venga restituita un'eccezione dovuta a un riferimento Null. Verificare che la struttura o tutti i membri del riferimento siano inizializzati prima di usarli

Una chiamata di routine passa una variabile di struttura come argomento a un parametro ByRef prima dell'assegnazione di qualsiasi valore alla variabile.

Se a una variabile di struttura non è mai stato assegnato alcun valore, ogni membro della struttura conterrà il valore predefinito per il tipo di dati. Per un tipo di dati di riferimento, il valore predefinito è Nothing. La lettura di un membro di riferimento con un valore 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 routine.

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

ID errore: BC42108

Per correggere l'errore

  • Se si vuole che la routine assegni un valore ai membri di struttura attraverso l'argomento ByRef e se il fatto che il membro contiene già un valore non è importante, non è necessaria alcuna operazione.

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

  • Se la logica della routine legge un membro di struttura prima di assegnargli un valore e se il membro è un tipo riferimento, accertarsi che la logica della routine sia in grado di gestire un valore di Nothing. Ad esempio, potrebbe usare un'istruzione Try...Catch...Finally per intercettare un NullReferenceException.

Vedi anche