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

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

例外

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

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

注解

此方法适用于托管编译器和代码分析器设计器。

备注

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

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

备注

有关常量值和 Constant 表的信息,请参阅 ECMA Partition II 文档。 可联机获取该文档;请参阅 MSDN 上的 ECMA C# 和公共语言基础结构标准和 Ecma International 网站上的标准 ECMA-335 - 公共语言基础结构 (CLI)

适用于