OpCodes.Mkrefany 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.
Legt einen typisierten Verweis auf eine Instanz eines bestimmten Typs auf dem Auswertungsstapel ab.
public: static initonly System::Reflection::Emit::OpCode Mkrefany;
public static readonly System.Reflection.Emit.OpCode Mkrefany;
staticval mutable Mkrefany : System.Reflection.Emit.OpCode
Public Shared ReadOnly Mkrefany 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 |
---|---|---|
C6 <T > |
mkrefany class |
Pusht einen typisierten Verweis vom Typ class auf den Stapel. |
Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:
Ein Zeiger auf daten wird auf den Stapel gepusht.
Der Zeiger wird in einen typisierten Verweis vom Typ
class
konvertiert.Der typisierte Verweis wird auf den Stapel gepusht.
Die mkrefany
-Anweisung unterstützt die Übergabe dynamisch typisierter Verweise. Der Zeiger muss vom Typ &
, *
oder native int
sein und die gültige Adresse eines Datenteils enthalten.
Class
ist das Klassentoken, das den Typ der Daten beschreibt, auf die der Zeiger verweist.
Mkrefany
pusht einen typisierten Verweis auf den Stapel und stellt einen undurchsichtigen Deskriptor des Zeigers und des Typs class
bereit.
Der einzige gültige Vorgang, der für einen typisierten Verweis zulässig ist, besteht darin, ihn an eine Methode zu übergeben, die einen typisierten Verweis als Parameter erfordert. Der Angerufene kann dann die Refanytype Anweisungen und Refanyval verwenden, um den Typ (Klasse) bzw. die Adresse abzurufen.
TypeLoadException wird ausgelöst, wenn class
nicht gefunden werden kann. Dies wird in der Regel erkannt, wenn MSIL-Anweisungen (Microsoft Intermediate Language) nicht zur Laufzeit, sondern in nativen Code konvertiert werden.
Die folgende Emit Methodenüberladung kann den mkrefany
Opcode verwenden: