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