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 

Значение поля

Комментарии

В следующей таблице перечислены шестнадцатеричные и шестнадцатеричные и Microsoft формат сборки промежуточного языка (MSIL) инструкции, а также краткая сводка по ссылке:

Формат Формат сборки Description
8C <T> Коробка valTypeToken Преобразуйте тип значения (типа, указанного в valTypeToken) в истинную ссылку на объект.

Переходное поведение стека в последовательном порядке:

  1. Тип значения передается в стек.

  2. Тип значения подается из стека; box выполняется операция.

  3. Ссылка на объект результирующего типа значения "boxed" передается в стек.

Тип значения имеет два отдельных представления в инфраструктуре общего языка (CLI):

  • Форма "необработанный", используемая при внедрении типа значения в другой объект или в стек.

  • Форма "boxed", в которой данные в типе значения упаковываются (прямоугольные) в объект, чтобы он может существовать в качестве независимой сущности.

Инструкция box преобразует тип значения raw (unboxed) в ссылку на объект (тип O). Это достигается путем создания нового объекта и копирования данных из типа значения в вновь выделенный объект. valTypeToken — это маркер метаданных, указывающий тип типа значения в стеке.

OutOfMemoryException вызывается, если недостаточно памяти для удовлетворения запроса.

TypeLoadException вызывается, если не удается найти класс. Обычно это обнаруживается при преобразовании Microsoft промежуточного языка (MSIL) в машинный код, а не во время выполнения.

Следующая Emit перегрузка метода может использовать box код opcode:

Применяется к