OpCodes.Castclass Campo

Definizione

Tenta di eseguire il cast di un oggetto passato per riferimento alla classe specificata.

public: static initonly System::Reflection::Emit::OpCode Castclass;
public static readonly System.Reflection.Emit.OpCode Castclass;
[System.Runtime.InteropServices.ComVisible(true)]
public static readonly System.Reflection.Emit.OpCode Castclass;
 staticval mutable Castclass : System.Reflection.Emit.OpCode
[<System.Runtime.InteropServices.ComVisible(true)>]
 staticval mutable Castclass : System.Reflection.Emit.OpCode
Public Shared ReadOnly Castclass As OpCode 

Valore del campo

Attributi

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
74 <T> castclass class Esegue il cast di un oggetto a un nuovo oggetto di tipo class.

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

  1. Viene eseguito il push di un riferimento a un oggetto nello stack.

  2. Il riferimento all'oggetto viene estratto dallo stack; viene eseguito il cast dell'oggetto a cui si fa riferimento come specificato class.

  3. In caso di esito positivo, viene eseguito il push di un nuovo riferimento a un oggetto nello stack.

L'istruzione castclass tenta di eseguire il cast del riferimento all'oggetto (tipo O) in cima allo stack a una classe specificata. La nuova classe viene specificata da un token di metadati che indica la classe desiderata. Se la classe dell'oggetto nella parte superiore dello stack non implementa la nuova classe (presupponendo che la nuova classe sia un'interfaccia) e non sia una classe derivata della nuova classe, viene generata un'eccezione InvalidCastException . Se il riferimento all'oggetto è un riferimento Null, castclass ha esito positivo e restituisce il nuovo oggetto come riferimento Null.

InvalidCastException viene generata se obj non può essere eseguito il cast alla classe.

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

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

Si applica a