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
요소 형식으로 암시적으로 캐스팅합니다. 이 캐스트는 확인된 코드의 경우에도 실패할 수 있습니다. 따라서 명령은 을 stelem.ref
throw InvalidCastException할 수 있습니다. 0부터 시작하지 않는 1차원 배열의 경우 및 다차원 배열의 경우 클래스는 Array 메서드를 SetValue 제공합니다.
NullReferenceException 가 null 참조이면 array
throw됩니다.
IndexOutOfRangeException가 음수이거나 의 경계array
보다 크면 index
throw됩니다.
ArrayTypeMismatchException
array
가 필수 형식의 요소를 보유하지 않으면 throw됩니다.
다음 Emit 메서드 오버로드는 opcode를 stelem.ref
사용할 수 있습니다.
적용 대상
.NET