OpCodes.Castclass Campo
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Intenta convertir un objeto pasado por referencia en 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 lenguaje intermedio de Microsoft (MSIL), junto con un breve resumen de referencia:
Formato | Formato de ensamblado | Descripción |
---|---|---|
74 <T > |
castclass class |
Convierte un objeto en un nuevo objeto de tipo class . |
El comportamiento de transición de pila, en orden secuencial, es:
Una referencia de objeto se inserta en la pila.
La referencia de objeto se extrae de la pila; el objeto al que se hace referencia se convierte como el especificado
class
.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 una referencia nula.
InvalidCastException se produce si obj no se puede convertir a la clase .
TypeLoadException se produce si no se encuentra la clase . Esto suele detectarse cuando una instrucción de Lenguaje intermedio de Microsoft (MSIL) 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: