OpCodes.Ldsflda OpCodes.Ldsflda OpCodes.Ldsflda OpCodes.Ldsflda Field


Pushes the address of a static field onto the evaluation stack.

public: static initonly System::Reflection::Emit::OpCode Ldsflda;
public static readonly System.Reflection.Emit.OpCode Ldsflda;
 staticval mutable Ldsflda : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldsflda As OpCode 
Field Value


The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:

Format Assembly Format Description
7F < T > ldsflda field Push the address of field on the stack

The stack transitional behavior, in sequential order, is:

  1. 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 native 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 method overload can use the ldsflda opcode:

  • ILGenerator.Emit(OpCode, FieldInfo)

Applies to