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 

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

Комментарии

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

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

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

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

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

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

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

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

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