Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Legt einen typisierten Verweis auf eine Instanz eines bestimmten Typs auf dem Auswertungsstapel ab.
Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Shared ReadOnly Mkrefany As OpCode
'Usage
Dim value As OpCode
value = OpCodes.Mkrefany
public static readonly OpCode Mkrefany
public:
static initonly OpCode Mkrefany
public static final OpCode Mkrefany
public static final var Mkrefany : OpCode
Hinweise
In der folgenden Tabelle werden das hexadezimale und das Assemblyformat der MSIL (Microsoft Intermediate Language) jeweils mit einer Kurzreferenz aufgeführt:
Format |
Assemblyformat |
Beschreibung |
|---|---|---|
C6 < T > |
mkrefany class |
Legt einen typisierten Verweis vom Typ class auf dem Stapel ab. |
Im Stapel laufen die folgenden Aktionen in der angegebenen Reihenfolge ab:
Ein Zeiger auf bestimmte Daten wird auf dem Stapel abgelegt.
Der Zeiger wird vom Stapel geholt und in einen typisierten Verweis vom Typ class konvertiert.
Der typisierte Verweis wird auf dem Stapel abgelegt.
Die mkrefany-Anweisung unterstützt das Übergeben von dynamisch typisierten Verweisen. Der Zeiger muss vom Typ &, * oder natural int sein und die gültige Adresse einer bestimmten Datenmenge enthalten. Class ist das Klassentoken, das den Typ der Daten beschreibt, auf die der Zeiger verweist. Mkrefany legt einen typisierten Verweis auf dem Stapel ab, wobei ein nicht transparenter Deskriptor des Zeigers und die class des Typs angegeben wird.
Die einzige zulässige Operation für einen typisierten Verweis ist das Übergeben des Verweises an eine Methode, die einen typisierten Verweis als Parameter erfordert. Die aufgerufene Methode kann anschließend mit der Refanytype-Anweisung und der Refanyval-Anweisung den Typ (Klasse) bzw. die Adresse abrufen.
Wenn class nicht gefunden werden kann, wird TypeLoadException ausgelöst. Dies wird normalerweise nicht zur Laufzeit erkannt, sondern beim Konvertieren von MSIL-Anweisungen (Microsoft Intermediate Language) in systemeigenen Code.
Die folgende Überladung der Emit-Methode verwendet den mkrefany-Opcode:
- ILGenerator.Emit(OpCode, Type)
Plattformen
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
OpCodes-Klasse
OpCodes-Member
System.Reflection.Emit-Namespace