OpCodes.Castclass Campo

Definición

Intenta convertir un objeto pasado por referencia a la clase especificada.

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 

Valor de campo

Atributos

Comentarios

En la tabla siguiente se muestra el formato de ensamblado hexadecimal y Microsoft lenguaje intermedio (MSIL), junto con un breve resumen de referencia:

Formato Formato de ensamblado Description
74 <T> castclass class Convierte un objeto en un nuevo objeto de tipo class.

El comportamiento de transición de la pila, en orden secuencial, es:

  1. Se inserta una referencia de objeto en la pila.

  2. La referencia de objeto se extrae de la pila; el objeto al que se hace referencia se convierte como el especificado class.

  3. Si se ejecuta correctamente, se inserta una nueva referencia de objeto en la pila.

La castclass instrucción intenta convertir la referencia de objeto (tipo O) sobre la pila a una clase especificada. La nueva clase se especifica mediante un token de metadatos que indica la clase deseada. Si la clase del objeto en la parte superior de la pila no implementa la nueva clase (suponiendo que la nueva clase es una interfaz) y no es una clase derivada de la nueva clase, se produce una InvalidCastException excepción . Si la referencia de objeto es una referencia nula, castclass se realiza correctamente y devuelve el nuevo objeto como referencia nula.

InvalidCastException se produce si obj no se puede convertir a la clase .

TypeLoadException se produce si no se encuentra la clase . Normalmente se detecta cuando una instrucción de lenguaje intermedio (MSIL) de Microsoft se convierte en código nativo en lugar de en tiempo de ejecución.

La sobrecarga del método siguiente Emit puede usar el castclass código de operación:

Se aplica a