Freigeben über


OpCodes.Refanyval-Feld

Ruft die Adresse (Typ &) ab, die in einen typisierten Verweis eingebettet ist.

Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Shared ReadOnly Refanyval As OpCode
'Usage
Dim value As OpCode

value = OpCodes.Refanyval
public static readonly OpCode Refanyval
public:
static initonly OpCode Refanyval
public static final OpCode Refanyval
public static final var Refanyval : 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

C2 < T >

refanyval type

Legt die in einem typisierten Verweis gespeicherte Adresse mittels Push ab.

Im Stapel laufen die folgenden Aktionen in der angegebenen Reihenfolge ab:

  1. Ein Verweis auf einen Werttyp wird auf dem Stapel abgelegt.

  2. Der typisierte Verweis wird vom Stapel geholt, und die entsprechende Adresse wird abgerufen.

  3. Die Adresse wird auf dem Stapel abgelegt.

Ein typisierter Verweis enthält ein Typtoken und eine Adresse einer Objektinstanz.

Die refanyval-Anweisung ruft die Adresse ab, die in einen typisierten Verweis eingebettet ist. Der in den vom Stapel bereitgestellten Typverweis eingebettete Typ muss dem Typ entsprechen, der von type angegeben wird (ein Metadatentoken, entweder typedef oder typeref). Weitere Informationen hierzu finden Sie unter der Mkrefany-Anweisung.

InvalidCastException wird ausgelöst, wenn type nicht mit dem im Typverweis gespeicherten Typ übereinstimmt. (Hierbei ist type die Klasse, die für die Mkrefany-Anweisung angegeben wird, die den betreffenden typisierten Verweis erstellt hat.)

Wenn type nicht gefunden werden kann, wird TypeLoadException ausgelöst.

Die folgende Überladung der Emit-Methode verwendet den refanyval-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