OpCodes.Stloc 필드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
평가 스택의 맨 위에서 현재 값을 팝하고 지정된 인덱스의 지역 변수 목록에 저장합니다.
public: static initonly System::Reflection::Emit::OpCode Stloc;
public static readonly System.Reflection.Emit.OpCode Stloc;
staticval mutable Stloc : System.Reflection.Emit.OpCode
Public Shared ReadOnly Stloc As OpCode
필드 값
설명
다음 표에는 간단한 참조 요약과 함께 명령의 16진수 및 MSIL(Microsoft Intermediate Language) 어셈블리 형식이 나와 있습니다.
서식 | 어셈블리 형식 | Description |
---|---|---|
FE 0E <unsigned int16 > |
stloc index |
스택에서 값을 팝하고 지역 변수 index 에 저장합니다. |
스택 전환 동작은 순차적으로 다음과 같습니다.
- 값이 스택에서 튀어나와 지역 변수
index
에 배치됩니다.
명령은 stloc
평가 스택에서 최상위 값을 팝하고 지역 변수 번호 index
로 이동합니다. 여기서 지역 변수는 0부터 번호가 매겨집니다. 값의 형식은 현재 메서드의 로컬 서명에 지정된 대로 지역 변수의 형식과 일치해야 합니다.
4바이트보다 작은 정수 값을 보유하는 로컬에 저장하면 스택에서 지역 변수로 이동할 때 값이 잘립니다. 부동 소수점 값은 네이티브 크기(형식 F
)에서 인수와 연결된 크기로 반올림됩니다.
올바른 MSIL(Microsoft Intermediate Language) 지침은 유효한 로컬 인덱스여야 합니다 index
. 명령의 stloc
경우 는 index
0에서 65534까지의 범위에 있어야 합니다(특히 65535는 유효하지 않음). 65535를 제외하는 이유는 실용적입니다. 가능한 구현은 2 바이트 정수를 사용하여 로컬의 인덱스뿐만 아니라 지정된 메서드의 총 로컬 수를 추적합니다. 인덱스 65535가 유효한 경우 이러한 메서드의 지역 주민 수를 추적하려면 더 넓은 정수가 필요합니다.
다음 Emit 메서드 오버로드는 opcode를 stloc
사용할 수 있습니다.
적용 대상
.NET