PropertyInfo.GetConstantValue 方法

定义

由编译器返回与属性关联的文本值。

public:
 virtual System::Object ^ GetConstantValue();
public virtual object GetConstantValue ();
public virtual object? GetConstantValue ();
abstract member GetConstantValue : unit -> obj
override this.GetConstantValue : unit -> obj
Public Overridable Function GetConstantValue () As Object

返回

一个 Object,它包含与此属性关联的文本值。 如果文本值是一个元素值为零的类类型,则返回值为 null

例外

非托管元数据中的常数表不包含当前属性的常数值。

值的类型不是公共语言规范 (CLS) 许可的类型。 请参见“ECMA Partition II”(ECMA 第二部分)规范中的“Metadata”(元数据)。

注解

此方法是为托管编译器和代码分析器的设计人员提供的。

注意

请勿在仅反射上下文中使用此方法,因为它可能会导致代码执行。 请改用 GetRawConstantValue 方法。

在非托管元数据中,常量表用于存储字段、参数和属性的常量值。 常量信息不会直接影响运行时行为。 编译器在编译时在导入元数据时检查此信息。 如果使用,则常量的值将嵌入 Microsoft 中间语言 (MSIL) 编译器发出的流中。 没有可用于在运行时访问 Constant 表的 MSIL 指令。

注意

有关常量值和常量表的详细信息,请参阅 公共语言基础结构 (CLI) 规范的分区 II。

适用于