OpCodes.Stelem_Ref 필드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
주어진 인덱스에 있는 배열 요소를 계산 스택에 있는 개체 참조 값(O 형식)으로 바꿉니다.
public: static initonly System::Reflection::Emit::OpCode Stelem_Ref;
public static readonly System.Reflection.Emit.OpCode Stelem_Ref;
staticval mutable Stelem_Ref : System.Reflection.Emit.OpCode
Public Shared ReadOnly Stelem_Ref As OpCode
필드 값
설명
다음 표에서는 간단한 참조 요약과 함께 명령의 16진수 및 MSIL(Microsoft Intermediate Language) 어셈블리 형식을 나열합니다.
| 서식 | 어셈블리 형식 | Description |
|---|---|---|
| A2 | stelem.ref | 제공된 인덱스의 배열 요소를 스택의 ref 값(형식 O)으로 바꿉니다. |
스택 전환 동작은 순차적으로 다음과 같습니다.
배열
array에 대한 개체 참조가 스택에 푸시됩니다.요소
array에 대한 유효한 인덱스가 스택에 푸시됩니다.값이 스택에 푸시됩니다.
값, 인덱스 및 배열 참조는 스택에서 팝됩니다. 값은 지정된 인덱스에서 배열 요소에 배치됩니다.
이 stelem.ref 명령은 1차원 배열 array 의 제공된 인덱스에 있는 요소의 값을 스택에 푸시된 (typeO) 값으로 ref 바꿉니다.
배열은 개체이므로 형식 O의 값으로 표시됩니다. 인덱스가 형식 native int입니다.
stelem.ref 배열 요소에 값을 할당하기 전에 제공된 값을 요소 형식 array 으로 암시적으로 캐스팅합니다. 확인된 코드의 경우에도 이 캐스트가 실패할 수 있습니다. 따라서 명령이 throwInvalidCastException할 stelem.ref 수 있습니다. 0부터 시작하는 1차원 배열 및 다차원 배열의 경우 클래스는 Array 메서드를 SetValue 제공합니다.
NullReferenceException 는 null 참조인 경우 array throw됩니다.
IndexOutOfRangeException가 음수이거나 경계보다 array크면 index throw됩니다.
ArrayTypeMismatchException 는 필수 형식의 요소를 포함하지 않는 경우 array throw됩니다.
다음 Emit 메서드 오버로드는 opcode를 stelem.ref 사용할 수 있습니다.