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 'ordered' type of list has not been implemented in the ECMA stylesheet.]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 OpCodes.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 ILGenerator.Emit(OpCode) method overload can use the ldsflda opcode:
ILGenerator.Emit(OpCode, FieldInfo)