OpCodes.Unbox_Any Feld
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Konvertiert die boxierte Darstellung eines Typs, der in der Anweisung angegeben ist, in das unboxierte Formular.
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
Die folgende Tabelle enthält das Hexadezimal- und Microsoft MSIL-Assemblyformat (Intermediate Language) der Anweisung sowie eine kurze Referenzzusammenfassung:
| Format | Assemblyformat | Description |
|---|---|---|
A5 <T> |
unbox.any typeTok |
Extrahieren Sie die Daten aus objder boxierten Darstellung. |
Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:
Ein Objektverweis
objwird auf den Stapel verschoben.Der Objektverweis wird aus dem Stapel und dem in der Anweisung angegebenen Typ getrennt.
Der resultierende Objektverweis oder Werttyp wird auf den Stapel verschoben.
Wenn sie auf die boxte Form eines Werttyps angewendet wird, extrahiert die unbox.any Anweisung den in obj (vom Typ O) enthaltenen Wert und entspricht daher unbox dem gefolgten 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 es sich nicht um einen Boxtyp handelt.
NullReferenceException wird ausgelöst, wenn obj es sich um einen Nullverweis handelt.
Die folgende Emit Methodenüberladung kann den unbox.any Opcode verwenden: