OpCodes.Unbox_Any Feld

Definition

Konvertiert die geschachtelte Darstellung eines n der Anweisung angegebenen Typs in seine nicht geschachtelte Form.

public: static initonly System::Reflection::Emit::OpCode Unbox_Any;
public static readonly System.Reflection.Emit.OpCode Unbox_Any;
 staticval mutable Unbox_Any : System.Reflection.Emit.OpCode
Public Shared ReadOnly Unbox_Any As OpCode 

Feldwert

Hinweise

In der folgenden Tabelle sind das Hexadezimal- und MSIL-Assemblyformat (Microsoft Intermediate Language) der Anweisung sowie eine kurze Referenzzusammenfassung aufgeführt:

Format Assemblyformat BESCHREIBUNG
A5 <T> unbox.any typeTok Extrahieren Sie die Daten aus objihrer geschachtelten Darstellung.

Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:

  1. Ein Objektverweis obj wird auf den Stapel gepusht.

  2. Der Objektverweis wird aus dem Stapel eingefügt und in den in der -Anweisung angegebenen Typ entpackt.

  3. Der resultierende Objektverweis oder Werttyp wird auf den Stapel gepusht.

Wenn sie auf die geschachtelte Form eines Werttyps angewendet wird, extrahiert die unbox.any Anweisung den in obj (vom Typ O) enthaltenen Wert und ist daher gleichbedeutend mit unbox gefolgt von ldobj.

Wenn sie auf einen Verweistyp angewendet wird, hat die unbox.any Anweisung die gleiche Auswirkung wie castclasstypeTok.

Wenn der Operand typeTok ein generischer Typparameter ist, wird das Laufzeitverhalten durch den Typ bestimmt, der für diesen generischen Typparameter angegeben ist.

InvalidCastException wird ausgelöst, wenn obj kein geschachtelter Typ ist.

NullReferenceException wird ausgelöst, wenn obj ein NULL-Verweis ist.

Die folgende Emit Methodenüberladung kann den unbox.any Opcode verwenden:

Gilt für: