System.Reflection.Emit.OpCodes.Stfld Field

Replaces the value stored in the field of an object reference or pointer with a new value.

Syntax

public static readonly OpCode Stfld

Remarks

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

7D < T >

stfld field

Replaces the value of field of the object with a new value.

The stack transitional behavior, in sequential order, is:

[The 'ordered' type of list has not been implemented in the ECMA stylesheet.]

The stfld instruction replaces the value of a field of an object (type O) or via a pointer (type native int, &, or *) with a given value. Field is a metadata token that refers to a field member reference. The stfld instruction can have a prefix of either or both of OpCodes.Unaligned and OpCodes.Volatile.

NullReferenceException is thrown if the object reference or pointer is a null reference and the field isn't static.

MissingFieldException is thrown if field is not found in the metadata. This is typically checked when the Microsoft Intermediate Language (MSIL) instruction is converted to native code, not at runtime.

The following ILGenerator.Emit(OpCode) method overload can use the stfld opcode:

  • ILGenerator.Emit(OpCode, FieldInfo)

Requirements

Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)
Assembly Versions: 1.0.5000.0, 2.0.0.0, 4.0.0.0