OpCodes.Isinst 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í.
Comprueba si una referencia a objeto (de tipo O
) es una instancia de una clase determinada.
public: static initonly System::Reflection::Emit::OpCode Isinst;
public static readonly System.Reflection.Emit.OpCode Isinst;
staticval mutable Isinst : System.Reflection.Emit.OpCode
Public Shared ReadOnly Isinst As OpCode
Valor de campo
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 |
---|---|---|
75 <T > |
isinst class |
Comprueba si una referencia de objeto es una instancia de class , devolviendo una referencia nula o una instancia de esa clase o interfaz. |
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 y se prueba para ver si es una instancia de la clase pasada en
class
.El resultado (ya sea una referencia de objeto o una referencia nula) se inserta en la pila.
Class
es un token de metadatos que indica la clase deseada. Si la clase del objeto en la parte superior de la pila implementa class
(si class
es una interfaz) o es una clase derivada de class
(si class
es una clase normal), se convierte en tipo class
y el resultado se inserta en la pila, exactamente como si Castclass se hubiera llamado a . De lo contrario, se inserta una referencia nula en la pila. Si la propia referencia de objeto es una referencia nula, isinst
también devuelve una referencia nula.
TypeLoadException se produce si no se encuentra la clase . Esto suele detectarse cuando las instrucciones del Lenguaje intermedio de Microsoft (MSIL) se convierten en código nativo en lugar de en tiempo de ejecución.
La sobrecarga del método siguiente Emit puede usar el isinst
código de operación: