OpCodes.Box Pole

Definicja

Konwertuje typ wartości na odwołanie do obiektu (typ O ).Converts a value type to an object reference (type 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

OpCode

Uwagi

W poniższej tabeli przedstawiono format zestawu języka pośredniego w formacie szesnastkowym i Microsoft (MSIL) instrukcji wraz z krótkim podsumowaniem odwołania:The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:

FormatFormat Format zestawuAssembly Format OpisDescription
8C < T >8C < T > dialogowym valTypeTokenbox valTypeToken Przekonwertuj typ wartości (typu określonego w valTypeToken ) na prawdziwe odwołanie do obiektu.Convert a value type (of the type specified in valTypeToken) to a true object reference.

Zachowanie przejściowe stosu, w kolejności sekwencyjnej, to:The stack transitional behavior, in sequential order, is:

  1. Typ wartości jest wypychany do stosu.A value type is pushed onto the stack.

  2. Typ wartości to zdjęte ze stosu; box operacja jest wykonywana.The value type is popped from the stack; the box operation is performed.

  3. Odwołanie do obiektu typu wartości "opakowane" jest wypychane na stosie.An object reference to the resulting "boxed" value type is pushed onto the stack.

Typ wartości ma dwie oddzielne reprezentacje w Common Language Infrastructure (interfejs wiersza polecenia):A value type has two separate representations within the Common Language Infrastructure (CLI):

  • Formularz "RAW" używany, gdy typ wartości jest osadzony w innym obiekcie lub na stosie.A 'raw' form used when a value type is embedded within another object or on the stack.

  • Formularz "opakowany", w którym dane w typie wartości są opakowane (opakowane) do obiektu, tak aby mógł istnieć jako niezależna jednostka.A 'boxed' form, where the data in the value type is wrapped (boxed) into an object so it can exist as an independent entity.

boxInstrukcja konwertuje typ "RAW" (unopakowany) na odwołanie do obiektu (typ O ).The box instruction converts the 'raw' (unboxed) value type into an object reference (type O). Jest to realizowane przez utworzenie nowego obiektu i skopiowanie danych z typu wartości do nowo przydzielonego obiektu.This is accomplished by creating a new object and copying the data from the value type into the newly allocated object. valTypeToken to token metadanych wskazujący typ wartości typu na stosie.valTypeToken is a metadata token indicating the type of the value type on the stack.

OutOfMemoryException jest zgłaszany w przypadku braku wystarczającej ilości pamięci do spełnienia żądania.OutOfMemoryException is thrown if there is insufficient memory to satisfy the request.

TypeLoadException jest zgłaszany, jeśli nie można znaleźć klasy.TypeLoadException is thrown if the class cannot be found. Jest to zwykle wykrywane podczas konwertowania języka pośredniego (MSIL) firmy Microsoft na kod natywny, a nie w czasie wykonywania.This is typically detected when Microsoft Intermediate Language (MSIL) is converted to native code, rather than at runtime.

Następujące Emit Przeciążenie metody może używać box kodu operacji:The following Emit method overload can use the box opcode:

Dotyczy