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 |
Инициализирует тип значения. |
Переходный режим стека в последовательном порядке:
Адрес инициализированного типа значения передается в стек.
Адрес выскочил из стека; Тип значения по указанному адресу инициализируется как тип
typeTok
.
Инструкция initobj
инициализирует каждое поле типа значения, указанного отправленным адресом (типа native int
, &
или *
), в пустую ссылку или 0 соответствующего примитивного типа. После вызова этого метода экземпляр готов к вызову метода конструктора. Если typeTok
является ссылочным типом, эта инструкция имеет тот же эффект, что и ldnull
stind.ref
.
В отличие от Newobj, initobj
метод конструктора не вызывается. Initobj
предназначен для инициализации типов значений, а newobj
используется для выделения и инициализации объектов.
Emit Следующая перегрузка initobj
метода может использовать код операции:
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по