属性に対する引数として使用される '<type1>' から '<type2>' への変換は定数式では発生しません。

更新 : 2007 年 11 月

属性の引数に使用される式が、対応する属性のパラメータとは異なるデータ型に評価され、Visual Basic では属性の引数に必要な型変換を行うことができません。

属性はそれ自体に適用される要素のメタデータを提供するので、コンパイラはコンパイル時にすべてのメタデータを構成できる必要があります。このため、すべての属性はコンパイル時に不変の値を使用する必要があります。したがって、すべての属性の引数は、コンパイル時定数の値に評価される必要があります。

特定の型変換では、コンパイル時に不変の値を生成できません。たとえば、String から Double または Date (実行時のロケール設定に応じて変わる) への変換などがそうです。その他の変換でも、派生型の配列から Object の配列への変換などでは、さまざまな問題が伴うため、コンパイラは属性の引数に対するこれらの変換を処理できません。

Error ID: BC30934

このエラーを解決するには

  • 対応するパラメータと同じデータ型に (属性で定義されたとおりに) 評価される式を使用します。

参照

概念

属性の適用

参照

Const ステートメント (Visual Basic)

その他の技術情報

Visual Basic における属性

Visual Basic における型変換