Переменная <имяПеременной> передается по ссылке перед тем, как ей присваивается значение (переменная типа структуры)
Обновлен: Ноябрь 2007
Сообщение об ошибке
Переменная '<имя_переменной>' передается по ссылке перед тем, как ей назначается значение. Пустая ссылка может вызвать исключение во время выполнения. Убедитесь, что структура или все члены ссылки инициализируются, прежде чем использовать
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
Вызов процедуры передает переменную структуры в качестве аргумента для параметра ByRef, перед тем как переменной будет присвоено любое значение.
Если переменной структуры никогда не присваивалось значение, каждый член структуры содержит значение по умолчанию для его типа данных. Для типа данных ссылки, значение по умолчанию — Nothing (Visual Basic). Чтение члена ссылки, который имеет значение Nothing может вызвать NullReferenceException в некоторых случаях.
Передача аргументов в процедуру ByRef предоставляет переменную, содержащуюся в аргументе для возможности изменения ее процедурой.
По умолчанию это сообщение является предупреждением. Дополнительные сведения о скрытии предупреждений или обработке предупреждений в качестве ошибки содержатся в разделе Настройка предупреждений в Visual Basic.
Идентификатор ошибки: BC42108
Исправление этой ошибки
Если вы предполагаете процедуру, присваивающую значения членам структур через аргумент ByRef, и если неважно, содержат ли уже элементы значения, тогда никаких действий не требуется.
Если логика в процедуре считывает член структуры перед назначением любого значения и если член имеет тип значения, убедитесь в том, что логика процедуры не зависит от того, содержит ли член значение по умолчанию или нет.
Если логика в процедуре считывает член структуры перед назначением ему любого значения и если элемент является ссылочным типом, убедитесь в том, что логика в процедуре может обрабатывать значение Nothing. Например, она может использовать Оператор Try... Catch... Finally (Visual Basic) для перехвата NullReferenceException.
См. также
Задачи
Устранение неполадок, связанных с переменными, в Visual Basic
Основные понятия
Типы значений и ссылочные типы
Передача аргументов по значению или по ссылке
Объявление переменной в Visual Basic