Freigeben über


Die <Variablenname>-Variable wird als Verweis übergeben, bevor ihr ein Wert zugewiesen wird (Strukturvariable)

Aktualisiert: November 2007

Fehlermeldung

Die <Variablenname>-Variable wird als Verweis übergeben, bevor ihr ein Wert zugewiesen wird. Zur Laufzeit kann eine NULL-Verweisausnahme auftreten. Stellen Sie sicher, dass die Struktur oder alle Verweismember vor der Verwendung initialisiert werden
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

In einem Prozeduraufruf wird eine Strukturvariable als Argument an einen ByRef-Parameter übergeben, bevor der Variablen ein Wert zugewiesen wurde.

Wenn einer Strukturvariablen niemals ein Wert zugewiesen wurde, enthält jeder Strukturmember den Standardwert für seinen Datentyp. Wenn der Datentyp ein Verweistyp ist, lautet dieser Standardwert Nothing (Visual Basic). Das Lesen eines Verweismembers mit dem Wert Nothing kann unter bestimmten Umständen eine NullReferenceException verursachen.

Durch das Übergeben eines Arguments an eine Prozedur mit ByRef wird die dem Argument zugrunde liegende Variable für mögliche Änderungen durch die Prozedur verfügbar gemacht.

Standardmäßig ist diese Meldung eine Warnung. Weitere Informationen über das Ausblenden von Warnungen bzw. über die Behandlung von Warnungen als Fehler finden Sie unter Konfigurieren von Warnungen in Visual Basic.

Fehler-ID: BC42108

So beheben Sie diesen Fehler

  • Wenn die Prozedur Strukturmembern einen Wert über das ByRef-Argument zuweisen soll und es keine Rolle spielt, ob die Member bereits einen Wert aufweisen, ist keine Maßnahme erforderlich.

  • Wenn die Prozedur gemäß ihrer Logik einen Strukturmember liest, bevor sie ihm einen Wert zuweist, und wenn der Member ein Werttyp ist, stellen Sie sicher, dass die Logik der Prozedur nicht davon abhängt, ob der Member seinen Standardwert aufweist.

  • Wenn die Prozedur gemäß ihrer Logik einen Strukturmember liest, bevor sie ihm einen Wert zuweist, und wenn der Member ein Verweistyp ist, stellen Sie sicher, dass die Logik der Prozedur den Wert Nothing behandeln kann. Beispielsweise kann die Prozedur eine Try...Catch...Finally-Anweisung (Visual Basic) verwenden, um eine NullReferenceException abzufangen.

Siehe auch

Aufgaben

Problembehandlung bei Variablen in Visual Basic

Konzepte

Wert- und Verweistypen

Übergeben von Argumenten als Wert und als Verweis

Variablendeklaration in Visual Basic

Referenz

Dim-Anweisung (Visual Basic)

ByRef

Structure-Anweisung

Weitere Ressourcen

Strukturen: Benutzerdefinierte Datentypen