Прочитать на английском

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


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

Переменная "<variablename>" передается по ссылке, прежде чем она была назначена значение. Во время выполнения может возникнуть исключение "пустая ссылка".

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

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

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

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

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

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

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

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

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

См. также