Sdílet prostřednictvím


OpCodes.Box Pole

Definice

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:

  1. Typ hodnoty je vložen do zásobníku.

  2. Typ hodnoty je vyskočil ze zásobníku; se box provede operace.

  3. 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:

Platí pro