OpCodes.Stelem_Ref 필드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 인덱스의 배열 요소를 평가 스택의 개체 ref 값(형식 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 의 제공된 인덱스에 있는 요소의 값을 스택에 푸시된 (typeref) 값으로 O 바꿉니다.
배열은 개체이므로 형식 O의 값으로 표시됩니다. 인덱스가 형식 native int입니다.
stelem.ref 배열 요소에 값을 할당하기 전에 제공된 값을 요소 형식 array 으로 암시적으로 캐스팅합니다. 확인된 코드의 경우에도 이 캐스트가 실패할 수 있습니다. 따라서 명령이 throwstelem.ref할 InvalidCastException 수 있습니다. 0부터 시작하는 1차원 배열 및 다차원 배열의 경우 클래스는 Array 메서드를 SetValue 제공합니다.
NullReferenceException 은 null 참조인 경우 array throw됩니다.
IndexOutOfRangeException 가 음수이거나 경계보다 크면 index throw됩니다 array.
ArrayTypeMismatchException 는 필수 형식의 요소를 포함하지 않는 경우 array throw됩니다.
다음 Emit 메서드 오버로드는 opcode를 stelem.ref 사용할 수 있습니다.