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


OpCodes.Unbox_Any Поле

Определение

Преобразует прямоугольное представление типа, указанного в инструкции, в его несоотделенные формы.

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

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

Комментарии

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

Формат Формат сборки Описание
A5 <T> unbox.any typeTok Извлеките данные из obj, его прямоугольного представления.

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

  1. Ссылка на объект obj отправляется в стек.

  2. Ссылка на объект подается из стека и распакована к типу, указанному в инструкции.

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

При применении к прямоугольной форме типа значения инструкция unbox.any извлекает значение, содержащееся в obj (типа O), и поэтому эквивалентно unbox, а затем ldobj.

При применении к ссылочного типа инструкция unbox.any имеет тот же эффект, что и castclasstypeTok.

Если typeTok операнда является параметром универсального типа, поведение среды выполнения определяется типом, указанным для этого параметра универсального типа.

InvalidCastException возникает, если obj не является типом в поле.

NullReferenceException возникает, если obj является пустой ссылкой.

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

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