OpCodes.Ldvirtftn Feld

Definition

Verschiebt einen nicht verwalteten Zeiger (Typ native int) an den systemeigenen Code, der eine bestimmte virtuelle Methode implementiert, die einem angegebenen Objekt zugeordnet ist, auf den Auswertungsstapel.

public: static initonly System::Reflection::Emit::OpCode Ldvirtftn;
public static readonly System.Reflection.Emit.OpCode Ldvirtftn;
 staticval mutable Ldvirtftn : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldvirtftn As OpCode 

Feldwert

Hinweise

In der folgenden Tabelle sind das Hexadezimal- und Microsoft MSIL-Assemblyformat (Intermediate Language) der Anweisung zusammen mit einer kurzen Referenzzusammenfassung aufgeführt:

Format Assemblyformat Description
FE 07 <T> ldvirtftn method Verschiebt den Zeiger auf die virtuelle Methode method eines Objekts im Stapel.

Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:

  1. Ein Objektverweis wird auf den Stapel verschoben.

  2. Der Objektverweis wird aus dem Stapel angezeigt, und die Adresse des Einstiegspunkts zur Methode (wie durch das Metadatentoken methodangegeben) wird nachschlagen.

  3. Der Zeiger, der method auf den Stapel verschoben wird.

Der resultierende nicht verwaltete Zeiger, der von der Anweisung auf den Stapel verschoben wird, kann mithilfe ldvirtftn der Calli Anweisung aufgerufen werden, wenn er auf eine verwaltete Methode verweist (oder auf einen Stub, der von verwaltetem zu nicht verwaltetem Code wechselt).

Der nicht verwaltete Zeiger verweist auf systemeigenen Code mithilfe der CLR-Aufrufkonvention. Dieser Methodenzeiger sollte nicht als Rückrufroutine an nicht verwalteten systemeigenen Code übergeben werden.

Die folgende Emit Methodenüberladung kann den ldvirtftn Opcode verwenden:

Gilt für: