OpCodes.Box 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í.
Převede typ hodnoty na odkaz na objekt (typ O
).
public: static initonly System::Reflection::Emit::OpCode Box;
public static readonly System.Reflection.Emit.OpCode Box;
staticval mutable Box : System.Reflection.Emit.OpCode
Public Shared ReadOnly Box 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 |
---|---|---|
8C <T > |
Pole valTypeToken |
Převede typ hodnoty (typu zadaného v valTypeToken ) na skutečný odkaz na objekt. |
Přechodné chování zásobníku v sekvenčním pořadí je:
Typ hodnoty je vložen do zásobníku.
Typ hodnoty je vyskočil ze zásobníku; se
box
provede operace.Odkaz na objekt na výsledný typ hodnoty "boxed" je vložen do zásobníku.
Typ hodnoty má v rámci common language infrastructure (CLI) dvě samostatné reprezentace:
"Nezpracovaný" formulář, který se používá, když je typ hodnoty vložen v jiném objektu nebo v zásobníku.
Formulář s rámečkem, ve kterém jsou data typu hodnoty zabalena (zabalena) do objektu, aby mohl existovat jako nezávislá entita.
Instrukce box
převede "nezpracovaný" (nezaboxovaný) typ hodnoty na odkaz na objekt (typ O
). Toho se dosáhne vytvořením nového objektu a zkopírováním dat z hodnotového typu do nově přiděleného objektu.
valTypeToken
je token metadat označující typ hodnotového typu v zásobníku.
OutOfMemoryException vyvolá se, pokud není k dispozici dostatek paměti pro splnění požadavku.
TypeLoadException je vyvolán, pokud třídu nelze najít. To se obvykle zjistí při převodu jazyka MSIL (Microsoft Intermediate Language) na nativní kód místo za běhu.
Následující Emit přetížení metody může použít box
opcode: