Pushes the address of a static field onto the evaluation stack.
[Visual Basic] Public Shared ReadOnly Ldsflda As OpCode [C#] public static readonly OpCode Ldsflda; [C++] public: static OpCode Ldsflda; [JScript] public static var Ldsflda : OpCode;
The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:
|7F < T >||ldsflda field||Push the address of field on the stack|
The stack transitional behavior, in sequential order, is:
- The address of a specific field is pushed onto the stack.
The ldsflda instruction pushes the address of a static (shared among all instances of a class) field on the stack. The address may be represented as a transient pointer (type *) if the metadata token field refers to a type whose memory is managed. Otherwise, it corresponds to an unmanaged pointer (type natural int). Note that field may be a static global with an assigned relative virtual address (the offset of the field from the base address at which its containing PE file is loaded into memory) where the memory is unmanaged.
The ldsflda instruction can have a Volatile prefix.
MissingFieldException is thrown if field is not found in the metadata. This is typically checked when Microsoft Intermediate Language (MSIL) instructions are converted to native code, not at runtime.
The following Emit constructor overload can use the ldsflda opcode:
- ILGenerator.Emit(OpCode, FieldInfo)
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family