PropertyInfo.GetConstantValue Method

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Returns a literal value associated with the property by a compiler.

Namespace: System.Reflection
Assembly: mscorlib (in mscorlib.dll)


Public Overridable Function GetConstantValue As Object
public virtual Object GetConstantValue()

Return Value

Type: System..::.Object
The literal value associated with the property. If the literal value is a class type with an element value of zero, the return value is nullNothingnullptra null reference (Nothing in Visual Basic).


Exception Condition

The Constant table in unmanaged metadata does not contain a constant value for the current property.


The type of the value is not one of the types permitted by the Common Language Specification (CLS). See the Standard ECMA-335 - Common Language Infrastructure (CLI) specification, Partition II.


This method is provided for designers of managed compilers and code analyzers.


Calling this method might cause code to run in the assembly that provides the constant's type. Use the GetRawConstantValue method if you need to avoid running such code.

In unmanaged metadata, the Constant table is used to store constant values for fields, parameters, and properties. Constant information does not directly influence runtime behavior. Compilers inspect this information, at compile time, when importing metadata. If used, the value of a constant is embedded in the Microsoft intermediate language (MSIL) stream the compiler emits. There are no MSIL instructions that can be used to access the Constant table at run time.


For more information about constant values and the Constant table, see the ECMA Partition II documentation. The documentation is available online; see ECMA C# and Common Language Infrastructure Standards on MSDN and Standard ECMA-335 - Common Language Infrastructure (CLI) on the Ecma International Web site.

Version Notes

Windows Phone

GetConstantValue is present but not supported in Windows Phone.

Version Information

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0


Windows Phone

See Also


PropertyInfo Class

System.Reflection Namespace