OpCodes.Ldvirtftn 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.
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:
Ein Objektverweis wird auf den Stapel verschoben.
Der Objektverweis wird aus dem Stapel angezeigt, und die Adresse des Einstiegspunkts zur Methode (wie durch das Metadatentoken
methodangegeben) wird nachschlagen.Der Zeiger, der
methodauf 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: