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


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 значения в стек.

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

  1. Адрес объекта типа значения передается в стек.

  2. Адрес извлекается из стека, и выполняется поиск экземпляра по указанному адресу.

  3. Значение объекта, хранящегося по указанному адресу, передается в стек.

Инструкция ldobj используется для передачи типа значения в качестве параметра.

Инструкция ldobj копирует значение, на которое указывает addrOfValObj (типа &, *или native int), в верхнюю часть стека. Количество скопированных байтов зависит от размера класса (как указано в параметре class ). Параметр class представляет собой маркер метаданных, представляющий тип значения.

Операцию инструкции ldobj можно изменить с помощью инструкции, непосредственно предшествующей Volatile инструкции или Unaligned с префиксом.

TypeLoadException возникает, если не удается найти класс. Обычно это обнаруживается, когда инструкция msil преобразуется в машинный код, а не во время выполнения.

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

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