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 , его прямоугольного представления. |
Переходное поведение стека в последовательном порядке:
Ссылка на объект
obj
отправляется в стек.Ссылка на объект подается из стека и распакована к типу, указанному в инструкции.
Результирующая ссылка на объект или тип значения помещается в стек.
При применении к прямоугольной форме типа значения инструкция unbox.any
извлекает значение, содержащееся в obj
(типа O
), и поэтому эквивалентно unbox
, а затем ldobj
.
При применении к ссылочного типа инструкция unbox.any
имеет тот же эффект, что и castclass
typeTok
.
Если typeTok
операнда является параметром универсального типа, поведение среды выполнения определяется типом, указанным для этого параметра универсального типа.
InvalidCastException возникает, если obj
не является типом в поле.
NullReferenceException возникает, если obj
является пустой ссылкой.
Следующая перегрузка метода Emit может использовать unbox.any
opcode: