Zmienna "<variablename>" jest przekazywana przez odwołanie przed przypisaniem wartości

Zmienna "<variablename>" jest przekazywana przez odwołanie przed przypisaniem wartości. Wyjątek odwołania o wartości null może spowodować w czasie wykonywania.

Wywołanie procedury przekazuje zmienną jako argument do ByRef parametru, zanim do zmiennej zostanie przypisana dowolna wartość.

Jeśli zmienna nigdy nie została przypisana, przechowuje wartość domyślną dla jego typu danych. W przypadku typu danych referencyjnych ta wartość domyślna to Nic. Odczytywanie zmiennej referencyjnej, która ma wartość Nothing , może spowodować NullReferenceException wystąpienie w pewnych okolicznościach.

Przekazanie argumentu do procedury ByRef uwidacznia zmienną bazową argumentu w celu ewentualnej modyfikacji przez procedurę.

Domyślnie ten komunikat jest ostrzeżeniem. Aby uzyskać więcej informacji na temat ukrywania ostrzeżeń lub traktowania ostrzeżeń jako błędów, zobacz Konfigurowanie ostrzeżeń w Visual Basic.

Identyfikator błędu: BC42030

Aby poprawić ten błąd

  • Jeśli zamierzasz przypisać wartość do zmiennej za pomocą argumentu ByRef , a jeśli nie ma znaczenia, czy zmienna zawiera już wartość, nie jest wymagana żadna akcja.

  • Jeśli logika w procedurze odczytuje argument przed przypisaniem dowolnej wartości do niej, a jeśli zmienna jest typu wartości, upewnij się, że logika procedury nie zależy od tego, czy zmienna przechowuje jego wartość domyślną, czy nie.

  • Jeśli logika w procedurze odczytuje argument przed przypisaniem dowolnej wartości do niej, a jeśli zmienna jest typu odwołania, upewnij się, że logika procedury może obsłużyć wartość Nothing. Na przykład może użyć narzędzia Try... Złapać... Finally, instrukcja , aby przechwycić element NullReferenceException.

Zobacz też