OpCodes.Initobj Поле

Определение

Инициализирует каждое поле типа значения с определенным адресом пустой ссылкой или значением 0 соответствующего простого типа.

public: static initonly System::Reflection::Emit::OpCode Initobj;
public static readonly System.Reflection.Emit.OpCode Initobj;
 staticval mutable Initobj : System.Reflection.Emit.OpCode
Public Shared ReadOnly Initobj As OpCode 

Значение поля

Комментарии

В следующей таблице приведен шестнадцатеричный формат инструкции и формат сборки MSIL, а также краткая справочная сводка:

Формат Формат сборки Описание
FE 15 <T> initobj typeTok Инициализирует тип значения.

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

  1. Адрес инициализированного типа значения передается в стек.

  2. Адрес выскочил из стека; Тип значения по указанному адресу инициализируется как тип typeTok.

Инструкция initobj инициализирует каждое поле типа значения, указанного отправленным адресом (типа native int, &или *), в пустую ссылку или 0 соответствующего примитивного типа. После вызова этого метода экземпляр готов к вызову метода конструктора. Если typeTok является ссылочным типом, эта инструкция имеет тот же эффект, что и ldnullstind.ref.

В отличие от Newobj, initobj метод конструктора не вызывается. Initobj предназначен для инициализации типов значений, а newobj используется для выделения и инициализации объектов.

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

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