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 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:
Adresa typu hodnoty, která se má inicializovat, se vloží do zásobníku.
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.ref
pří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
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro