OpCodes.Ldobj Поле
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Копирует объект с типом значения, размещенный по указанному адресу, на вершину стека вычислений.
public: static initonly System::Reflection::Emit::OpCode Ldobj;
public static readonly System.Reflection.Emit.OpCode Ldobj;
staticval mutable Ldobj : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldobj As OpCode
Значение поля
Комментарии
В следующей таблице приведен шестнадцатеричный формат инструкции и формат сборки msil, а также краткий обзор:
Формат | Формат сборки | Описание |
---|---|---|
71 <T > |
ldobj class |
Скопируйте экземпляр типа class значения в стек. |
Переходный режим стека в последовательном порядке:
Адрес объекта типа значения передается в стек.
Адрес извлекается из стека, и выполняется поиск экземпляра по указанному адресу.
Значение объекта, хранящегося по указанному адресу, передается в стек.
Инструкция ldobj
используется для передачи типа значения в качестве параметра.
Инструкция ldobj
копирует значение, на которое указывает addrOfValObj
(типа &
, *
или native int
), в верхнюю часть стека. Количество скопированных байтов зависит от размера класса (как указано в параметре class
). Параметр class
представляет собой маркер метаданных, представляющий тип значения.
Операцию инструкции ldobj
можно изменить с помощью инструкции, непосредственно предшествующей Volatile инструкции или Unaligned с префиксом.
TypeLoadException возникает, если не удается найти класс. Обычно это обнаруживается, когда инструкция msil преобразуется в машинный код, а не во время выполнения.
Следующая Emit перегрузка ldobj
метода может использовать код операции: