OpCodes.Ldfld 필드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 계산 스택에 참조가 있는 개체에서 필드의 값을 찾습니다.
public: static initonly System::Reflection::Emit::OpCode Ldfld;
public static readonly System.Reflection.Emit.OpCode Ldfld;
staticval mutable Ldfld : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldfld As OpCode
필드 값
설명
다음 표에서는 간단한 참조 요약과 함께 명령의 16진수 및 MSIL(Microsoft Intermediate Language) 어셈블리 형식을 나열합니다.
서식 | 어셈블리 형식 | Description |
---|---|---|
7b <T > |
ldfld field |
지정된 개체의 필드 값을 스택에 푸시합니다. |
스택 전환 동작은 순차적으로 다음과 같습니다.
개체 참조(또는 포인터)가 스택에 푸시됩니다.
개체 참조(또는 포인터)가 스택에서 튀어나온 경우 개체에서 지정된 필드의 값을 찾습니다.
필드에 저장된 값이 스택에 푸시됩니다.
명령은 ldfld
개체에 있는 필드의 값을 스택에 푸시합니다. 개체는 개체 참조(형식), 관리되는 포인터(형식O
), 관리되지 않는 포인터(형식&
), 일시적인 포인터(형식native int
*
) 또는 값 형식의 instance 스택에 있어야 합니다. 비관리형 포인터의 사용은 확인 가능한 코드에서 허용되지 않습니다. 개체의 필드는 필드 멤버를 참조해야 하는 메타데이터 토큰으로 지정됩니다. 반환 형식은 필드와 연결된 형식과 동일합니다. 필드는 instance 필드이거나(이 경우 개체가 null 참조가 아니어야 합니다) 또는 정적 필드일 수 있습니다.
명령은 ldfld
및 Volatile 접두사 중 하나 또는 둘 다 Unaligned 앞에 올 수 있습니다.
NullReferenceException 는 개체가 null이고 필드가 정적이지 않은 경우 throw됩니다.
MissingFieldException 지정된 필드를 메타데이터에서 찾을 수 없는 경우 throw됩니다. 일반적으로 MSIL(Microsoft Intermediate Language) 지침이 런타임이 아닌 네이티브 코드로 변환되는 경우 확인됩니다.
다음 Emit 메서드 오버로드는 opcode를 ldfld
사용할 수 있습니다.
적용 대상
.NET