Udostępnij za pośrednictwem


OpCodes.Box Pole

Definicja

Konwertuje typ wartości na odwołanie do obiektu (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 

Wartość pola

Uwagi

W poniższej tabeli wymieniono format zestawu szesnastkowy i microsoft intermediate language (MSIL) instrukcji wraz z krótkim podsumowaniem referencyjnym:

Format Format zestawu Opis
8C <T> Pole valTypeToken Przekonwertuj typ wartości (typu określonego w valTypeToken) na prawdziwe odwołanie do obiektu.

Zachowanie przejściowe stosu w kolejności sekwencyjnej to:

  1. Typ wartości jest wypychany do stosu.

  2. Typ wartości jest zwinięty ze stosu; wykonywana box jest operacja.

  3. Odwołanie do wynikowego typu wartości "boxed" jest wypychane do stosu.

Typ wartości ma dwie oddzielne reprezentacje w ramach infrastruktury języka wspólnego (CLI):

  • Formularz "nieprzetworzony" używany, gdy typ wartości jest osadzony w innym obiekcie lub na stosie.

  • Formularz "boxed", w którym dane w typie wartości są opakowane (pola) do obiektu, aby mogły istnieć jako niezależna jednostka.

Instrukcja box konwertuje typ wartości "raw" (unboxed) na odwołanie do obiektu (typ O). Jest to realizowane przez utworzenie nowego obiektu i skopiowanie danych z typu wartości do nowo przydzielonego obiektu. valTypeToken to token metadanych wskazujący typ typu wartości na stosie.

OutOfMemoryException jest zgłaszany, jeśli ilość pamięci jest niewystarczająca do spełnienia żądania.

TypeLoadException jest zgłaszany, jeśli nie można odnaleźć klasy. Zazwyczaj jest to wykrywane, gdy język Microsoft Intermediate Language (MSIL) jest konwertowany na kod natywny, a nie w czasie wykonywania.

Następujące Emit przeciążenie metody może używać box kodu opcode:

Dotyczy