OpCodes.Castclass 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.
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, è:
Viene eseguito il push di un riferimento a un oggetto nello stack.
Il riferimento all'oggetto viene estratto dallo stack; viene eseguito il cast dell'oggetto a cui si fa riferimento come specificato
class
.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: