Partilhar via


Conversão de '<tipo1>' em '<tipo2>' não pode ocorrer em uma expressão constante usada como um argumento para um atributo

Uma expressão usada para um argumento de atributo avalia para um tipo de dados diferente do parâmetro de atributo correspondente, e Visual Basic não permitir a conversão de tipos necessária para argumentos de atributo.

Um atributo fornece metadados para o elemento ao qual é aplicado, e o compilador precisa estar preparado para construir todos os metadados no tempo de compilação.Por essa razão, cada atributo deve usar valores que são constantes no tempo de compilação, e, portanto, cada argumento de atributo deve ser avaliado como um valor constante no tempo de compilação.

Determinadas conversões de tipos não podem produzir valores que são constantes no tempo de compilação.Por exemplo, converter um String em um Double ou um Date depende da configuração de localidade no tempo de execução.Outras conversões, tais como uma matriz de um tipo derivado para uma matriz de Object, apresentam uma variedade de problemas que não permitem que o compilador as permita em argumentos de atributo.

ID de erro: BC30934

Para corrigir este erro

  • Use uma expressão que avalia para o mesmo tipo de dados como o parâmetro correspondente, conforme definido pelo atributo.

Consulte também

Conceitos

Aplicação de Atributos

Referência

Declaração Const (Visual Basic)

Outros recursos

Atributos no Visual Basic

Conversões de Tipo no Visual Basic