다음을 통해 공유


OpCodes.Ldobj 필드

주소가 가리키는 값 형식 개체를 계산 스택 맨 위로 복사합니다.

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

구문

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

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

설명

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

형식

어셈블리 형식

설명

71 < T >

ldobj class

class 값 형식의 인스턴스를 스택으로 복사합니다.

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

  1. 값 형식 개체의 주소가 스택으로 푸시됩니다.

  2. 스택에서 주소가 팝되고 특정 주소에 있는 인스턴스가 검색됩니다.

  3. 해당 주소에 저장된 개체의 값이 스택으로 푸시됩니다.

ldobj 명령을 사용하여 값 형식을 매개 변수로 전달합니다.

ldobj 명령은 addrOfValObj(&, * 또는 natural int 형식)가 가리키는 값을 스택 맨 위로 복사합니다. 복사되는 바이트 수는 class 매개 변수에 지정된 대로 클래스의 크기에 따라 달라집니다. class 매개 변수는 값 형식을 나타내는 메타데이터 토큰입니다.

바로 앞에 Volatile이나 Unaligned 접두사 명령을 사용하여 ldobj 명령의 동작을 변경할 수 있습니다.

클래스를 찾지 못하면 TypeLoadException이 throw됩니다. 대개 런타임이 아니라 MSIL(Microsoft Intermediate Language)이 네이티브 코드로 변환될 때 이 작업이 감지됩니다.

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

  • ILGenerator.Emit(OpCode, Type)

플랫폼

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 네임스페이스