在用作属性参数的常量表达式中不能发生从“<type1>”到“<type2>”的转换

更新:2007 年 11 月

用作属性变量的表达式的计算结果的数据类型与对应属性参数的数据类型不同,Visual Basic 不允许针对属性变量的所需类型转换。

属性为应用属性的元素提供元数据,编译器必须能够在编译时构造所有元数据。由于这个原因,每个属性必须使用在编译时为常数的值,因此,每个属性变量的计算结果也必须是在编译时为常数的值。

某些类型转换无法生成在编译时为常数的值。例如,将 String 转换为 Double 或 Date 取决于运行时的区域设置。其他转换(例如,从派生类型的数组转换为 Object 的数组)会出现许多问题,因此不允许编译器对属性参数执行这些转换。

**错误 ID:**BC30934

更正此错误

  • 按照属性的定义,使用一个计算结果的数据类型与对应参数的数据类型相同的表达式。

请参见

概念

属性的应用

参考

Const 语句 (Visual Basic)

其他资源

Visual Basic 中的属性 (Attribute)

Visual Basic 中的类型转换