OpCodes.Castclass 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.
Wandelt ein als Verweis übergebenes Objekt in die angegebene Klasse um.
public: static initonly System::Reflection::Emit::OpCode Castclass;
public static readonly System.Reflection.Emit.OpCode Castclass;
[System.Runtime.InteropServices.ComVisible(true)]
public static readonly System.Reflection.Emit.OpCode Castclass;
staticval mutable Castclass : System.Reflection.Emit.OpCode
[<System.Runtime.InteropServices.ComVisible(true)>]
staticval mutable Castclass : System.Reflection.Emit.OpCode
Public Shared ReadOnly Castclass As OpCode
Feldwert
- Attribute
Hinweise
In der folgenden Tabelle sind das Hexadezimal- und das MSIL-Assemblyformat der Anweisung sowie eine kurze Referenzzusammenfassung aufgeführt:
Format | Assemblyformat | BESCHREIBUNG |
---|---|---|
74 < T > |
Castclass class |
Wandelt ein Objekt in ein neues Objekt des Typs class um. |
Das Stapelübergangsverhalten in sequenzieller Reihenfolge lautet:
Ein Objektverweis wird auf den Stapel verschoben.
Der Objektverweis wird aus dem Stapel eingetaucht; das referenzierte Objekt wird als angegebenes
class
Objekt gecastt.Bei erfolgreicher Ausführung wird ein neuer Objektverweis auf den Stapel verschoben.
Die castclass
Anweisung versucht, den Objektverweis (Typ O
) auf dem Stapel in eine angegebene Klasse zu umwandeln. Die neue Klasse wird durch ein Metadatentoken angegeben, das die gewünschte Klasse angibt. Wenn die Klasse des Objekts oben im Stapel die neue Klasse nicht implementiert (vorausgesetzt, die neue Klasse ist eine Schnittstelle) und keine abgeleitete Klasse der neuen Klasse ist, wird ein Auslösen ausgelöst InvalidCastException . Wenn es sich bei dem Objektverweis um einen Nullverweis handelt, castclass
wird das neue Objekt als NULL-Verweis zurückgegeben.
InvalidCastException wird ausgelöst, wenn obj nicht in klasse umwandeln kann.
TypeLoadException wird ausgelöst, wenn die Klasse nicht gefunden werden kann. Dies wird in der Regel erkannt, wenn eine MSIL-Anweisung (Microsoft Intermediate Language) nicht zur Laufzeit in systemeigenen Code konvertiert wird.
Die folgende Emit Methodenüberladung kann den castclass
Opcode verwenden: