OpCodes.Ldvirtftn Campo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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, è:
Un riferimento all'oggetto viene eseguito il push nello stack.
Il riferimento all'oggetto viene visualizzato dallo stack e dall'indirizzo del punto di ingresso al metodo (come specificato dal token
method
di metadati) viene cercato.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: