A variável “<variablename>” é passada por referência antes que um valor tenha sido atribuído a ela (variável de estrutura)

A variável “<variablename>” é passada por referência antes que um valor tenha sido atribuído a ela. Uma exceção de referência nula pode ocorrer em runtime. Verifique se a estrutura ou todos os membros de referência são inicializados antes do uso

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

Se nunca tiver sido atribuído um valor a uma variável de estrutura, cada membro da estrutura terá 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 tenha 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 para uma possível modificação pelo procedimento.

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

ID do Erro: BC42108

Para corrigir este erro

  • Se você pretender que o procedimento atribua valores a membros de estrutura por meio do argumento ByRef e se não importa se os membros já possuem valores, nenhuma ação será 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, verifique se a lógica do procedimento não depende 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, verifique se a lógica do procedimento pode manipular um valor de Nothing. Por exemplo, ele pode usar uma Instrução Try... Catch... Finally para capturar um NullReferenceException.

Confira também