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 (Intermediate Language) a Microsoft s stručným přehledem referenčních informací:
| 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:
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 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 je typ odkazu, má tato instrukce stejný účinek jako ldnull následovaný stind.ref.
Na rozdíl od Newobj, initobj nevolá konstruktor metoda.
Initobj slouží k inicializaci hodnotových typů, zatímco newobj slouží k přidělování a inicializaci objektů.
Emit Následující přetížení metody může použít initobj opcode: