OpCodes.Isinst 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.
Überprüft, ob ein Objektverweis (Typ O
) eine Instanz einer bestimmten Klasse ist.
public: static initonly System::Reflection::Emit::OpCode Isinst;
public static readonly System.Reflection.Emit.OpCode Isinst;
staticval mutable Isinst : System.Reflection.Emit.OpCode
Public Shared ReadOnly Isinst 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 |
---|---|---|
75 <T > |
isinst class |
Testet, ob ein Objektverweis ein instance von class ist, wobei entweder ein NULL-Verweis oder ein instance dieser Klasse oder Schnittstelle zurückgegeben wird. |
Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:
Ein Objektverweis wird auf den Stapel gepusht.
Der Objektverweis wird aus dem Stapel geknallt und getestet, um festzustellen, ob es sich um eine instance der in
class
übergebenen Klasse handelt.Das Ergebnis (entweder ein Objektverweis oder ein NULL-Verweis) wird auf den Stapel gepusht.
Class
ist ein Metadatentoken, das die gewünschte Klasse angibt. Wenn die Klasse des Objekts oben im Stapel implementiert class
(wenn class
eine Schnittstelle ist) oder eine abgeleitete Klasse von class
ist (wenn class
es sich um eine reguläre Klasse handelt), wird sie in den Typ class
umgewandelt, und das Ergebnis wird auf den Stapel gepusht, genau so, als ob Castclass aufgerufen worden wäre. Andernfalls wird ein NULL-Verweis auf den Stapel gepusht. Wenn der Objektverweis selbst ein NULL-Verweis ist, isinst
gibt ebenfalls einen NULL-Verweis zurück.
TypeLoadException wird ausgelöst, wenn die Klasse nicht gefunden werden kann. Dies wird in der Regel erkannt, wenn die MSIL-Anweisungen (Microsoft Intermediate Language) nicht zur Laufzeit, sondern in nativen Code konvertiert werden.
Die folgende Emit Methodenüberladung kann den isinst
Opcode verwenden:
Gilt für:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für