Ler em inglês

Partilhar via


A variável '<variablename>' é passada por referência antes de lhe ter sido atribuído um valor (Structure Variable)

A variável '<variablename>' é passada por referência antes de lhe ter sido atribuído um valor. Uma exceção de referência nula pode resultar em tempo de execução. Certifique-se de que a estrutura ou todos os membros de referência são inicializados antes de usar

Uma chamada de procedimento passa uma variável de estrutura como um argumento para um ByRef parâmetro antes que qualquer valor seja atribuído à variável.

Se uma variável de estrutura nunca tiver recebido um valor, cada membro da estrutura manterá o valor padrão para seu tipo de dados. Para um tipo de dados de referência, esse valor padrão é Nothing. Ler um membro de referência que tem um valor de Nothing pode causar um NullReferenceException em algumas circunstâncias.

Passar um argumento para um procedimento ByRef expõe a variável subjacente ao argumento a uma possível modificação pelo procedimento.

Por padrão, essa mensagem é um aviso. Para obter mais informações sobre como ocultar avisos ou tratar avisos como erros, consulte Configurando avisos no Visual Basic.

ID de erro: BC42108

Para corrigir este erro

  • Se você pretende que o procedimento atribua valores aos membros da estrutura por meio do ByRef argumento, e se não importa se os membros já possuem valores, nenhuma ação é necessária.

  • Se a lógica no procedimento ler um membro da estrutura antes de atribuir qualquer valor a ele, e se o membro for de um tipo de valor, certifique-se de que a lógica do procedimento não dependa se o membro mantém seu valor padrão ou não.

  • Se a lógica no procedimento ler um membro da estrutura antes de atribuir qualquer valor a ele, e se o membro for de um tipo de referência, certifique-se de que a lógica do procedimento possa manipular um valor de Nothing. Por exemplo, poderia usar um ... Pegar... Finalmente, declaração para pegar um NullReferenceException.

Consulte também