다음을 통해 공유


OpCodes.Stfld 필드

정의

개체 참조나 포인터의 필드에 저장된 값을 새 값으로 바꿉니다.

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

필드 값

설명

다음 표에는 간단한 참조 요약과 함께 명령의 16진수 및 MSIL(Microsoft Intermediate Language) 어셈블리 형식이 나와 있습니다.

서식 어셈블리 형식 Description
7d <T> stfld field 개체의 field 값을 새 값으로 바꿉니다.

스택 전환 동작은 순차적으로 다음과 같습니다.

  1. 개체 참조 또는 포인터가 스택에 푸시됩니다.

  2. 값이 스택에 푸시됩니다.

  3. 값과 개체 참조/포인터가 스택에서 팝됩니다. 개체의 값 field 이 제공된 값으로 바뀝니다.

명령은 stfld 개체의 필드 값(형식 O)을 대체하거나 포인터(형식 native int, &또는 *)를 지정된 값으로 바꿉니다. Field 는 필드 멤버 참조를 참조하는 메타데이터 토큰입니다. 명령에는 stfldVolatile중 하나 또는 둘 다의 Unaligned 접두사를 사용할 수 있습니다.

NullReferenceException 개체 참조 또는 포인터가 null 참조이고 필드가 정적이지 않은 경우 throw됩니다.

MissingFieldException 가 메타데이터에 없으면 field throw됩니다. 이는 일반적으로 MSIL(Microsoft Intermediate Language) 명령이 런타임이 아닌 네이티브 코드로 변환되는 경우에 확인됩니다.

다음 Emit 메서드 오버로드는 opcode를 stfld 사용할 수 있습니다.

적용 대상