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í jazyka MSIL (Intermediate Language) a Microsoft s stručným přehledem referenčních informací:

Formát Formát sestavení Description
8C <T> Pole valTypeToken Převeďte 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. Do zásobníku se vloží typ hodnoty.

  2. Typ hodnoty se přepíná ze zásobníku; operace box je provedena.

  3. Odkaz na objekt na výsledný typ hodnoty "boxed" je vložen do zásobníku.

Typ hodnoty má ve službě Common Language Infrastructure (CLI) dvě samostatné reprezentace:

  • Nezpracovaný formulář použitý, pokud je typ hodnoty vložen do jiného objektu nebo do zásobníku.

  • "Krabicový" formulář, kde jsou data v typu hodnoty zabalena (zabalena) do objektu, aby mohly existovat jako nezávislá entita.

Instrukce box převede typ nezpracované (rozbalené) hodnoty na odkaz na objekt (typ O). Toho dosáhnete tak, že vytvoříte nový objekt a zkopírujete data z typu hodnoty do nově přiděleného objektu. valTypeToken je token metadat označující typ hodnoty v zásobníku.

OutOfMemoryException je vyvolán, pokud není dostatek paměti pro splnění požadavku.

TypeLoadException je vyvolán, pokud třídu nelze najít. To se obvykle zjistí, když Microsoft Intermediate Language (MSIL) je převeden na nativní kód, nikoli za běhu.

Emit Následující přetížení metody může použít box opcode:

Platí pro