다음을 통해 공유


OpCodes.Unbox_Any 필드

정의

명령에 지정된 형식의 boxed 표현을 해당 unboxed 형식으로 변환합니다.

public: static initonly System::Reflection::Emit::OpCode Unbox_Any;
public static readonly System.Reflection.Emit.OpCode Unbox_Any;
 staticval mutable Unbox_Any : System.Reflection.Emit.OpCode
Public Shared ReadOnly Unbox_Any As OpCode 

필드 값

설명

다음 표에서는 간단한 참조 요약과 함께 명령의 16진수 및 MSIL(Microsoft Intermediate Language) 어셈블리 형식을 나열합니다.

어셈블리 형식 묘사
A5 <T> unbox.any typeTok obj해당 상자 표현에서 데이터를 추출합니다.

순차적으로 스택 전환 동작은 다음과 같습니다.

  1. obj 개체 참조가 스택에 푸시됩니다.

  2. 개체 참조가 스택에서 팝되고 명령에서 지정된 형식으로 unboxed됩니다.

  3. 결과 개체 참조 또는 값 형식이 스택에 푸시됩니다.

값 형식의 boxed 형식에 적용하면 unbox.any 명령은 obj(O형식) 내에 포함된 값을 추출하므로 unbox 뒤에 ldobj.

참조 형식에 적용하면 unbox.any 명령은 castclasstypeTok것과 동일한 효과를 니다.

피연산자 typeTok 제네릭 형식 매개 변수인 경우 런타임 동작은 해당 제네릭 형식 매개 변수에 대해 지정된 형식에 따라 결정됩니다.

obj boxed 형식이 아니면 InvalidCastException throw됩니다.

obj null 참조인 경우 NullReferenceException throw됩니다.

다음 Emit 메서드 오버로드는 unbox.any opcode를 사용할 수 있습니다.

적용 대상