Condividi tramite


OpCodes.Ldobj Campo

Definizione

Copia l'oggetto tipo di valore a cui punta un indirizzo all'inizio dello stack di valutazione.

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

Valore del campo

Commenti

La tabella seguente elenca il formato di assembly Esadecimale e MSIL (Microsoft Intermediate Language), insieme a un breve riepilogo dei riferimenti:

Formato Formato assembly Descrizione
71 <T> ldobj class Copiare l'istanza del tipo class valore nello stack.

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

  1. L'indirizzo di un oggetto tipo valore viene inserito nello stack.

  2. L'indirizzo viene estratto dallo stack e l'istanza in corrispondenza di tale indirizzo specifico viene cercata.

  3. Il valore dell'oggetto archiviato in tale indirizzo viene inserito nello stack.

L'istruzione ldobj viene usata per passare un tipo valore come parametro.

L'istruzione ldobj copia il valore a addrOfValObj cui punta (di tipo &, *o native int) nella parte superiore dello stack. Il numero di byte copiati dipende dalle dimensioni della classe ,come specificato dal class parametro . Il class parametro è un token di metadati che rappresenta il tipo di valore.

L'operazione dell'istruzione ldobj può essere modificata da un'istruzione immediatamente precedente Volatile o Unaligned con prefisso.

TypeLoadException viene generata se non è possibile trovare la classe . Questo viene in genere rilevato quando l'istruzione MSIL (Microsoft Intermediate Language) viene convertita in codice nativo anziché in fase di esecuzione.

L'overload del metodo seguente Emit può usare il ldobj codice operativo:

Si applica a