Copiar o valor do parâmetro 'ByRef' '< ParameterName >' de volta para o argumento correspondente limita o '< typename1 >' para o tipo '< typename2 >'
Um procedimento é chamado com um argumento que amplia a tipo de parâmetro de correspondente, e conversão do parâmetro para o argumento o restringe.
Quando você define uma classe ou estrutura, você pode definri um ou mais operadores de conversão para converter aquela tipo classe ou estrutura para outros tipos.Você também pode definir operadores de conversão reversa para converter aqueles outros tipos de volta para seu tipo de classe ou estrutura.Quando você usa sua classe ou tipo de estrutura numa chamada de procedimento, Visual Basic pode usar esses operadores de conversão para converter o tipo de um argumento para o tipo de seu parâmetro correspondente.
Se você passar o argumento ByRef, Visual Basic algumas vezes copia o valor do argumento para um variável local no procedimento em vez de passar uma referência.Nesse caso, quando o procedimento retona, Visual Basic deve copiar o valor da variável local de volta para o argumento no código que chamou.
Se um valor de argumento ByRef é copiado no procedimento e o argumento e parâmetro são do mesmo tipo, não é necessária nenhuma conversão.Mas se os tipos são diferentes, Visual Basic deve converter em ambas as direções.Se um dos tipos é sua classe ou tipo de estrutura, Visual Basic deve convertê-lo tanto de quanto para o outro tipo.Se um dessas conversões está ampliando, a conversão reversa pode estar restringindo.
ID de erro: BC32053
Para corrigir este erro
Se possível, use um argumento chamando do mesmo tipo que o parâmetro do procedimento, dessa forma o Visual Basic não precisa fazer nenhuma conversão.
Se você precisar chamar o procedimento com um tipo de argumento diferente do tipo de parâmetro mas não precisa de retornar um valor no argumento chamante, defina o parâmetro para ser ByVal em vez de ByRef.
Se você precisar retornar um valor para o argumento de chamada, defina o operador de conversão inversa como Widening, se possível.
Consulte também
Tarefas
Como: Define a Conversion operador
Conceitos
Parâmetros do procedimento e argumentos
Argumento Passing By valor e por referência
Conversões Ampliadoras e Redutoras