Condividi tramite


OpCodes.Ldvirtftn Campo

Definizione

Inserisce un puntatore non gestito di tipo (native int) al codice nativo che implementa un particolare metodo virtual con un oggetto specificato nello stack di valutazione.

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 

Valore del campo

Commenti

La tabella seguente elenca il formato dell'assembly esadecimale e Microsoft Intermediate Language (MSIL), insieme a un breve riepilogo di riferimento:

Formato Formato assembly Descrizione
FE 07 <T> ldvirtftn method Esegue il push del puntatore al metodo method virtuale di un oggetto nello stack.

Il comportamento di transizione dello stack, in ordine sequenziale, è:

  1. Un riferimento all'oggetto viene eseguito il push nello stack.

  2. Il riferimento all'oggetto viene visualizzato dallo stack e dall'indirizzo del punto di ingresso al metodo (come specificato dal token methoddi metadati) viene cercato.

  3. Puntatore a cui method eseguire il push nello stack.

Il puntatore non gestito risultante inserito nello stack tramite l'istruzione ldvirtftn può essere chiamato usando l'istruzione Calli se fa riferimento a un metodo gestito (o uno stub che passa da gestito a codice non gestito).

Il puntatore non gestito punta al codice nativo usando la convenzione di chiamata CLR. Questo puntatore al metodo non deve essere passato al codice nativo non gestito come routine di callback.

L'overload del metodo seguente Emit può usare il ldvirtftn codice opcode:

Si applica a