OpCodes.Ldsflda Field

Definition

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

C#
public static readonly System.Reflection.Emit.OpCode Ldsflda;

Field Value

Remarks

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:

Applies to

Produkt Verzie
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0