Comparteix a través de


OpCodes.Isinst Campo

Definición

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:

  1. Una referencia de objeto se inserta en la pila.

  2. La referencia de objeto se extrae de la pila y se prueba para ver si es una instancia de la clase pasada en class.

  3. 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:

Se aplica a