Eine Konvertierung von „<Typ1>“ in „<Typ2>“ kann nicht in einem konstanten Ausdruck durchgeführt werden, der als Argument für ein Attribut verwendet wird.

Ein für ein Attributargument verwendeter Ausdruck wird als Datentyp ausgewertet, der sich von dem des entsprechenden Attributparameters unterscheidet, und Visual Basic lässt die erforderliche Typkonvertierung für Attributargumente nicht zu.

Ein Attribut stellt Metadaten für das Element bereit, auf das es angewendet wird, und der Compiler muss zur Kompilierzeit in der Lage sein, alle Metadaten zu erstellen. Daher muss jedes Attribut Werte verwenden, die zur Kompilierzeit konstant sind, und jedes Attributargument muss als ein zur Kompilierzeit konstanter Wert ausgewertet werden.

Bei bestimmten Typkonvertierungen können keine Werte erzeugt werden, die zur Kompilierzeit konstant sind. Ob beispielsweise String in Double oder Date konvertiert wird, hängt von der Gebietsschemaeinstellung zur Laufzeit ab. Andere Konvertierungen (z. B. die Konvertierung eines Array eines abgeleiteten Typs in ein Object-Array) verursachen eine Vielzahl von Problemen, durch die der Compiler sie für Attributargumente nicht zulassen kann.

Fehler-ID: BC30934

So beheben Sie diesen Fehler

  • Verwenden Sie einen Ausdruck, der als gleicher Datentyp wie der entsprechende Parameter ausgewertet wird, wie vom Attribut definiert.

Siehe auch