다음을 통해 공유


OpCodes.Stfld 필드

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

네임스페이스: System.Reflection.Emit
어셈블리: mscorlib(mscorlib.dll)

구문

‘선언
Public Shared ReadOnly Stfld As OpCode
‘사용 방법
Dim value As OpCode

value = OpCodes.Stfld
public static readonly OpCode Stfld
public:
static initonly OpCode Stfld
public static final OpCode Stfld
public static final var Stfld : OpCode

설명

다음 표에서는 명령의 16진수 및 MSIL(Microsoft Intermediate Language) 어셈블리 형식을 간단한 설명과 함께 나열합니다.

형식

어셈블리 형식

설명

7D < T >

stfld field

개체의 field 값을 새 값으로 바꿉니다.

다음과 같이 순차적으로 스택 전환 동작이 발생합니다.

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

  2. 값이 스택으로 푸시됩니다.

  3. 스택에서 값과 개체 참조/포인터가 팝되고 개체에 있는 field 값이 주어진 값으로 바뀝니다.

stfld 명령은 개체(O 형식)의 필드 값이나 포인터(natural int, & 또는 * 형식)의 값을 주어진 값으로 바꿉니다. Field는 필드 멤버 참조를 가리키는 메타데이터 토큰입니다. stfld 명령 앞에 UnalignedVolatile 접두사 중 하나나 둘 모두를 배치할 수 있습니다.

개체 참조나 포인터가 null 참조이고 필드가 정적 필드가 아니면 NullReferenceException이 throw됩니다.

메타데이터에 field가 없으면 MissingFieldException이 throw됩니다. 대개 런타임이 아니라 MSIL(Microsoft Intermediate Language) 명령이 네이티브 코드로 변환될 때 이 작업이 감지됩니다.

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

  • ILGenerator.Emit(OpCode, FieldInfo)

플랫폼

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

참고 항목

참조

OpCodes 클래스
OpCodes 멤버
System.Reflection.Emit 네임스페이스