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 ссылку на истинный объект. |
Переходный режим стека в последовательном порядке:
Тип значения помещается в стек.
Тип значения выскочил из стека; операция
box
выполняется.Ссылка на объект на результирующий тип значения "boxed" помещается в стек.
Тип значения имеет два отдельных представления в cli:
Необработанная форма, используемая, когда тип значения внедрен в другой объект или в стек.
Форма "упакована", где данные в типе значения упаковываются (упаковываются) в объект, чтобы он смог существовать в качестве независимой сущности.
Инструкция box
преобразует необработанный (распакованный) тип значения в ссылку на объект (тип O
). Это достигается путем создания нового объекта и копирования данных из типа значения в только что выделенный объект.
valTypeToken
— это маркер метаданных, указывающий тип типа значения в стеке.
OutOfMemoryException возникает, если недостаточно памяти для удовлетворения запроса.
TypeLoadException возникает, если не удается найти класс. Обычно это обнаруживается при преобразовании MSIL в машинный код, а не во время выполнения.
Emit Следующая перегрузка box
метода может использовать код операции: