다음을 통해 공유


OpCodes.Box 필드

정의

값 형식을 개체 참조(O 형식)로 변환합니다.

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

필드 값

설명

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

서식 어셈블리 형식 Description
8c <T> 상자 valTypeToken 에 지정된 valTypeToken형식의 값 형식을 true 개체 참조로 변환합니다.

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

  1. 값 형식이 스택에 푸시됩니다.

  2. 스택에서 값 형식이 튀어나온 경우 box 작업이 수행됩니다.

  3. 결과 "boxed" 값 형식에 대한 개체 참조가 스택에 푸시됩니다.

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

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

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

명령은 box 'raw'(unboxed) 값 형식을 개체 참조(형식 O)로 변환합니다. 이 작업은 새 개체를 만들고 값 형식의 데이터를 새로 할당된 개체로 복사하여 수행됩니다. valTypeToken 는 스택의 값 형식을 나타내는 메타데이터 토큰입니다.

OutOfMemoryException 는 요청을 충족할 메모리가 부족한 경우 throw됩니다.

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

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

적용 대상