Sdílet prostřednictvím


OpCodes.Initobj Pole

Definice

Inicializuje každé pole typu hodnoty na zadanou adresu na odkaz null nebo 0 z 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í jazyka MSIL (Microsoft Intermediate Language) a stručný přehled referenčních informací:

Formát Formát sestavení Popis
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 přepíná 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 nasdílenou adresou (typu native int, &nebo *) na odkaz s hodnotou null nebo 0 odpovídajícího primitivního typu. Po zavolání této metody je instance připravena na zavolání metody konstruktoru. Pokud typeTok je typ odkazu, má tato instrukce stejný účinek jako ldnull následované stind.ref.

Na rozdíl od Newobjinitobj nevolá metodu konstruktoru. Initobj slouží k inicializaci typů hodnot, zatímco newobj slouží k přidělování a inicializaci objektů.

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

Platí pro