In un'espressione costante utilizzata come argomento di un attributo non può verificarsi la conversione da '<tipo1>' a '<tipo2>'

Aggiornamento: novembre 2007

Conversion from '<type1>' to '<type2>' cannot occur in a constant expression used as an argument to an attribute

Un'espressione utilizzata per un argomento di un attributo restituisce un tipo di dati diverso da quello del parametro di attributo corrispondente e Visual Basic non consente la conversione dei tipi richiesta per gli argomenti di attributo.

Un attributo fornisce metadati per l'elemento a cui è applicato e il compilatore deve essere in grado di costruire tutti i metadati in fase di compilazione. Per questo motivo, ogni attributo deve utilizzare valori costanti in fase di compilazione e, di conseguenza, anche ogni argomento di attributo deve restituire un valore costante.

Alcune conversioni di tipo non sono in grado di produrre valori costanti in fase di compilazione. Ad esempio, la conversione di String in Double o in Date dipende dalle impostazioni internazionali in fase di esecuzione. Altre conversioni, ad esempio la conversione di una matrice di un tipo derivato in una matrice di Object, presentano diversi problemi che impediscono al compilatore di accettarle negli argomenti di attributo.

ID errore: BC30934

Per correggere l'errore

  • Utilizzare un'espressione che restituisce lo stesso tipo di dati del parametro corrispondente, come definito dall'attributo.

Vedere anche

Concetti

Applicazione di attributi

Riferimenti

Istruzione Const (Visual Basic)

Altre risorse

Attributi in Visual Basic

Conversioni di tipi in Visual Basic