Share via


OpCodes.Stfld Field

Microsoft Silverlight will reach end of support after October 2021. Learn more.

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

Namespace:  System.Reflection.Emit
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Shared ReadOnly Stfld As OpCode
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:

Format

Assembly Format

Description

7D < T >

stfld field

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

The stack transitional behavior, in sequential order, is:

  1. An object reference or pointer is pushed onto the stack.

  2. A value is pushed onto the stack.

  3. The value and the object reference/pointer are popped from the stack; the value of field in the object is replaced with the supplied value.

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 Unaligned and 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 MSIL instructions are converted to native code, not at run time.

The following Emit method overload can use the stfld opcode:

  • ILGenerator.Emit(OpCode, FieldInfo)

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.