Comparteix a través de


OpCodes.Mkrefany Campo

Definición

Inserta en la pila de evaluación una referencia con tipo a una instancia de un tipo específico.

public: static initonly System::Reflection::Emit::OpCode Mkrefany;
public static readonly System.Reflection.Emit.OpCode Mkrefany;
 staticval mutable Mkrefany : System.Reflection.Emit.OpCode
Public Shared ReadOnly Mkrefany As OpCode 

Valor de campo

Comentarios

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

Formato Formato de ensamblado Descripción
C6 <T> mkrefany class Inserta una referencia con tipo de tipo class en la pila.

El comportamiento transitorio de la pila, en orden secuencial, es:

  1. Un puntero a fragmento de datos se inserta en la pila.

  2. El puntero se extrae y se convierte en una referencia con tipo de tipo class.

  3. La referencia con tipo se inserta en la pila.

La mkrefany instrucción admite el paso de referencias con tipo dinámico. El puntero debe ser de tipo &, *o native inty contener la dirección válida de un fragmento de datos. Class es el token de clase que describe el tipo de los datos a los que hace referencia el puntero. Mkrefany inserta una referencia con tipo en la pila, lo que proporciona un descriptor opaco del puntero y el tipo class.

La única operación válida permitida en una referencia con tipo es pasarla a un método que requiere una referencia con tipo como parámetro. A continuación, el destinatario puede usar las Refanytype instrucciones y Refanyval para recuperar el tipo (clase) y la dirección respectivamente.

TypeLoadException se produce si class no se encuentra . Normalmente, esto se detecta 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 mkrefany código de operación:

Se aplica a