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. Результирующая ссылка на объект или тип значения помещается в стек.

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

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

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

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

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

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

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