Поделиться через


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 

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

Комментарии

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

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

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

  1. Тип значения помещается в стек.

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

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

Тип значения имеет два отдельных представления в cli:

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

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

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

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

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

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

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