다음을 통해 공유


OpCodes.Unbox 필드

정의

boxed로 표시되는 값 형식을 unboxed 형식으로 변환합니다.

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

필드 값

설명

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

서식 어셈블리 형식 Description
79 <T> Unbox valType 에서 값 형식 데이터를 obj추출합니다.

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

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

  2. 개체 참조는 스택에서 팝되고 값 형식 포인터로 언박싱됩니다.

  3. 값 형식 포인터가 스택에 푸시됩니다.

값 형식에는 CLI(공용 언어 인프라) 내에 두 개의 개별 표현이 있습니다.

  • 값 형식이 다른 개체 내에 포함될 때 사용되는 '원시' 양식입니다.

  • 값 형식의 데이터가 개체에 래핑(boxed)되므로 독립적인 엔터티로 존재할 수 있는 'boxed' 양식입니다.

unbox 명령은 값 형식의 상자 표현인 개체 참조(형식 O)를 값 형식 포인터(관리 포인터, 형식 &), 해당 unboxed 양식으로 변환합니다. 제공된 값 형식(valType)은 boxed 개체에 포함된 값 형식의 형식을 나타내는 메타데이터 토큰입니다.

Box개체 unbox 에서 사용하기 위해 값 형식의 복사본을 만드는 데 필요한 은 개체에서 값 형식을 복사할 필요가 없습니다. 일반적으로 상자가 있는 개체 내에 이미 있는 값 형식의 주소를 계산하기만 하면 됩니다.

InvalidCastException 개체가 으로 valTypeboxed되지 않으면 throw됩니다.

NullReferenceException 개체 참조가 null 참조이면 throw됩니다.

TypeLoadException 값 형식 valType 을 찾을 수 없는 경우 throw됩니다. 일반적으로 MSIL(Microsoft Intermediate Language) 명령이 런타임이 아닌 네이티브 코드로 변환될 때 검색됩니다.

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

적용 대상