OpCodes.Ldvirtftn-Feld
Legt einen nicht verwalteten Zeiger (Typ natural int) auf systemeigenen Code auf dem Auswertungsstapel ab. Dieser Code implementiert eine bestimmte virtuelle Methode, die einem angegebenen Objekt zugeordnet ist.
Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Shared ReadOnly Ldvirtftn As OpCode
'Usage
Dim value As OpCode
value = OpCodes.Ldvirtftn
public static readonly OpCode Ldvirtftn
public:
static initonly OpCode Ldvirtftn
public static final OpCode Ldvirtftn
public static final var Ldvirtftn : 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 |
---|---|---|
FE 07 < T > |
ldvirtftn method |
Legt einen Zeiger auf eine virtuelle Methode method eines Objekts auf dem Stapel ab. |
Im Stapel laufen die folgenden Aktionen in der angegebenen Reihenfolge ab:
Ein Objektverweis wird auf dem Stapel abgelegt.
Der Objektverweis wird vom Stapel geholt, und die Adresse des Einstiegspunktes der Methode (angegeben durch das Metadatentoken method) wird gesucht.
Der Zeiger auf method wird auf dem Stapel abgelegt.
Der erhaltene nicht verwaltete Zeiger, der von der ldvirtftn-Anweisung auf dem Stapel abgelegt wurde, kann mit der Calli-Anweisung aufgerufen werden, wenn er auf eine verwaltete Methode verweist (oder auf einen Stub, bei dem ein Übergang von verwaltetem zu nicht verwaltetem Code stattfindet).
Der nicht verwaltete Zeiger zeigt auf systemeigenen Code, wobei die von der method des Metadatentokens angegebene Aufrufkonvention zugrunde gelegt wird. Infolgedessen kann der Methodenzeiger an nicht verwalteten systemeigenen Code übergeben werden (z. B. als Rückrufroutine), wenn diese Routine die entsprechende Aufrufkonvention erwartet.
Die folgende Überladung der Emit-Methode verwendet den ldvirtftn-Opcode:
- ILGenerator.Emit(OpCode, MethodInfo)
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