OpCodes.Ldind_I4 필드
int32 형식의 값을 int32로 스택에 간접적으로 로드합니다.
네임스페이스: System.Reflection.Emit
어셈블리: mscorlib(mscorlib.dll)
구문
‘선언
Public Shared ReadOnly Ldind_I4 As OpCode
‘사용 방법
Dim value As OpCode
value = OpCodes.Ldind_I4
public static readonly OpCode Ldind_I4
public:
static initonly OpCode Ldind_I4
public static final OpCode Ldind_I4
public static final var Ldind_I4 : OpCode
설명
다음 표에서는 명령의 16진수 및 MSIL(Microsoft Intermediate Language) 어셈블리 형식을 간단한 설명과 함께 나열합니다.
형식 |
어셈블리 형식 |
설명 |
---|---|---|
4A |
ldind.i4 |
주소 addr에 있는 int32 값을 int32로 스택에 로드합니다. |
다음과 같이 순차적으로 스택 전환 동작이 발생합니다.
주소가 스택으로 푸시됩니다.
주소가 스택에서 팝되며 주소에 있는 값은 페치됩니다.
페치된 값이 스택으로 푸시됩니다.
ldind.i4 명령이 지정된 주소(natural int, & 또는 * 형식)의 int32 값을 int32로 스택에 간접적으로 로드합니다.
모든 ldind 명령은 해당하는 기본 제공 값 클래스를 지정하는 Ldobj 명령의 축약 형태입니다.
4바이트 보다 작은 정수 값은 계산 스택에 로드될 때 natural int가 아닌 int32로 확장됩니다. 부동 소수점 값은 계산 스택에 로드될 때 F 형식으로 변환됩니다.
올바른 형식의 MSIL(Microsoft Intermediate Language)은 ldind 명령이 포인터 형식에 맞게 사용되도록 합니다.
처음에 스택에 푸시된 주소는 시스템에 있는 개체의 원래 크기에 맞춰져야 하며 그렇지 않을 경우 NullReferenceException이 발생할 수 있습니다. 이러한 문제를 방지하는 방법에 대해서는 Unaligned 접두사 명령을 참조하십시오. 주소를 반환하는 모든 MSIL 명령(예: Ldloca 및 Ldarga)의 결과는 안전하게 맞춰집니다. 1바이트보다 큰 데이터 형식의 경우 바이트 순서는 대상 CPU에 따라 좌우됩니다. 바이트 순서에 의존하는 코드는 모든 플랫폼에서 실행되지 않을 수도 있습니다.
잘못된 주소를 발견하면 NullReferenceException이 throw됩니다.
다음 Emit 메서드 오버로드는 ldind.i4 opcode를 사용할 수 있습니다.
- ILGenerator.Emit(OpCode)
플랫폼
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에서 지원