OpCodes.Ldflda 필드

정의

현재 계산 스택에 참조가 있는 개체에서 필드의 주소를 찾습니다.

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

필드 값

설명

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

서식 어셈블리 형식 Description
7C <T> ldflda field 지정된 개체의 field 주소를 스택에 푸시합니다.

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

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

  2. 개체 참조(또는 포인터)가 스택에서 튀어나온 경우 개체에서 지정된 필드의 주소를 찾습니다.

  3. 지정된 필드의 주소가 스택에 푸시됩니다.

명령은 ldflda 개체에 있는 필드의 주소를 스택에 푸시합니다. 개체는 개체 참조(형식), 관리되는 포인터(형식O), 관리되지 않는 포인터(형식&), 일시적인 포인터(형식native int*) 또는 값 형식의 instance 스택에 있어야 합니다. 비관리형 포인터의 사용은 확인 가능한 코드에서 허용되지 않습니다. 개체의 필드는 필드 멤버를 참조해야 하는 메타데이터 토큰으로 지정됩니다.

에서 반환되는 ldflda 값은 개체가 관리되지 않는 포인터로 스택에 푸시되지 않는 한 관리되는 포인터(형식 &)이며, 이 경우 반환 주소는 관리되지 않는 포인터(형식 native int)이기도 합니다.

명령은 ldfldaVolatile 접두사 중 하나 또는 둘 다 Unaligned 앞에 올 수 있습니다.

InvalidOperationException 개체를 액세스 하는 애플리케이션 도메인 내에서 없으면 throw 됩니다. 에 액세스 하는 애플리케이션 도메인 내에서 포함 되지 않는 필드의 주소를 로드할 수 없습니다.

NullReferenceException 는 개체가 null이고 필드가 정적이지 않은 경우 throw됩니다.

MissingFieldException 지정된 필드를 메타데이터에서 찾을 수 없는 경우 throw됩니다. 일반적으로 MSIL(Microsoft Intermediate Language) 지침이 런타임이 아닌 네이티브 코드로 변환되는 경우 확인됩니다.

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

적용 대상