OpCodes.Initobj Pole

Definice

Inicializuje každé pole typu hodnoty na zadanou adresu na odkaz null nebo 0 příslušného primitivního typu.

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 

Hodnota pole

Poznámky

Následující tabulka uvádí šestnáctkový formát sestavení instrukce a formát sestavení MSIL (Microsoft Intermediate Language) spolu se stručným přehledem referencí:

Formát Formát sestavení Description
FE 15 <T> initobj typeTok Inicializuje typ hodnoty.

Přechodné chování zásobníku v sekvenčním pořadí je:

  1. Adresa typu hodnoty, která se má inicializovat, se vloží do zásobníku.

  2. Adresa se vynořila ze zásobníku; typ hodnoty na zadané adrese je inicializován jako typ typeTok.

Instrukce initobj inicializuje každé pole typu hodnoty určeného vloženou adresou (typu native int, &nebo *) na nulový odkaz nebo 0 příslušného primitivního typu. Po zavolání této metody je instance připravena na zavolání metody konstruktoru. Pokud typeTok se jedná o odkazový typ, má tato instrukce stejný účinek jako ldnull následující stind.refpříkaz .

Na rozdíl od Newobjmetody nevolá initobj metodu konstruktoru. Initobj je určený pro inicializaci typů hodnot, zatímco newobj se používá k přidělování a inicializaci objektů.

Následující Emit přetížení metody může použít initobj opcode:

Platí pro