Поделиться через


Переменная <имяПеременной> передается по ссылке перед тем, как ей назначается значение

Обновлен: Ноябрь 2007

Сообщение об ошибке

Переменная '<имя_переменной>' передается по ссылке перед тем, как ей назначается значение. Пустая ссылка исключений могла получить результат во время выполнения.
Variable '<variablename>' is passed by reference before it has been assigned a value. A null reference exception could result at run time.

Вызов процедуры передает переменную в качестве аргумента для параметра ByRef, перед тем как переменной будет присвоено любое значение.

Если переменной никогда не присваивали значение, она содержит значение по умолчанию для ее типа данных. Для типа данных ссылки значение по умолчанию — Nothing (Visual Basic). Чтение переменной ссылки, которая имеет значение Nothing, может вызвать NullReferenceException в некоторых случаях.

Передача аргументов в процедуру ByRef предоставляет переменную, содержащуюся в аргументе для возможности изменения ее процедурой.

По умолчанию это сообщение является предупреждением. Дополнительные сведения о скрытии предупреждений или их обработке как ошибок см. в разделе Настройка предупреждений в Visual Basic.

Идентификатор ошибки: BC42030

Исправление этой ошибки

  • Если предполагается процедура, которая присваивает значение переменной через аргумент ByRef, и если неважно, содержит ли уже переменная значение, никаких действий не требуется.

  • Если логика в процедуре считывает аргумент перед назначением любого значения и если переменная имеет тип значения, убедитесь в том, что логика процедуры не зависит от того, содержит ли переменная значение по умолчанию или нет.

  • Если логика в процедуре считывает аргумент перед назначением любого значения и если переменная имеет ссылочный тип, убедитесь в том, что процедура логики может обрабатывать значение Nothing. Например, она может использовать Оператор Try... Catch... Finally (Visual Basic) для перехвата NullReferenceException.

См. также

Задачи

Устранение неполадок, связанных с переменными, в Visual Basic

Основные понятия

Типы значений и ссылочные типы

Передача аргументов по значению или по ссылке

Объявление переменной в Visual Basic

Ссылки

Оператор Dim (Visual Basic)

ByRef