OpCodes.Ldflda 필드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 계산 스택에 참조가 있는 개체에서 필드의 주소를 찾습니다.
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 주소를 스택에 푸시합니다. |
스택 전환 동작은 순차적으로 다음과 같습니다.
개체 참조(또는 포인터)가 스택에 푸시됩니다.
개체 참조(또는 포인터)가 스택에서 팝됩니다. 개체에서 지정된 필드의 주소를 찾습니다.
지정된 필드의 주소가 스택에 푸시됩니다.
이 ldflda 명령은 개체에 있는 필드의 주소를 스택으로 푸시합니다. 개체는 개체 참조(형식), 관리되는 포인터(형식O), 관리되지 않는 포인터(형식&), 일시적인 포인터(형식native int``*) 또는 값 형식의 인스턴스로 스택에 있어야 합니다. 관리되지 않는 포인터의 사용은 확인 가능한 코드에서 허용되지 않습니다. 개체의 필드는 필드 멤버를 참조해야 하는 메타데이터 토큰으로 지정됩니다.
개체 ldflda 가 관리되지 않는 포인터로 스택에 푸시되지 않는 한 반환되는 값은 관리되는 포인터(형식 &)입니다. 이 경우 반환 주소도 관리되지 않는 포인터(형식 native int)입니다.
명령 앞에는 ldflda 두 접두사 중 하나 또는 둘 다 앞에 Volatile Unaligned 올 수 있습니다.
InvalidOperationException 개체를 액세스 하는 애플리케이션 도메인 내에서 없으면 throw 됩니다. 에 액세스 하는 애플리케이션 도메인 내에서 포함 되지 않는 필드의 주소를 로드할 수 없습니다.
NullReferenceException 는 개체가 null이고 필드가 정적이지 않은 경우 throw됩니다.
MissingFieldException 는 메타데이터에서 지정된 필드를 찾을 수 없는 경우 throw됩니다. 일반적으로 MSIL(Microsoft Intermediate Language) 명령이 런타임이 아닌 네이티브 코드로 변환되는 경우 확인됩니다.
다음 Emit 메서드 오버로드는 opcode를 ldflda 사용할 수 있습니다.