OpCodes.Initobj Pole
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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:
Adresa typu hodnoty, který se má inicializovat, se vloží do zásobníku.
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: