OpCodes.Mkrefany Campo
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Envia uma referência tipada a uma instância de um tipo específico para a pilha de avaliação.
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 do campo
Comentários
A tabela a seguir lista o formato de assembly hexadecimal e MSIL (Microsoft Intermediate Language) da instrução, juntamente com um breve resumo de referência:
Formatar | Formato de assembly | Descrição |
---|---|---|
C6 <T > |
mkrefany class |
Envia por push uma referência tipada do tipo class para a pilha. |
O comportamento de transição da pilha, em ordem sequencial, é:
Um ponteiro para parte dos dados é enviado por push para a pilha.
O ponteiro é exibido e convertido em uma referência tipada do tipo
class
.A referência tipada é enviada por push para a pilha.
A mkrefany
instrução dá suporte à passagem de referências tipada dinamicamente. O ponteiro deve ser do tipo &
, *
ou native int
e conter o endereço válido de um pedaço de dados.
Class
é o token de classe que descreve o tipo dos dados referenciados pelo ponteiro .
Mkrefany
envia uma referência tipada na pilha, fornecendo um descritor opaco do ponteiro e do tipo class
.
A única operação válida permitida em uma referência tipada é passá-la para um método que requer uma referência tipada como um parâmetro. Em seguida, o receptor pode usar as Refanytype instruções e Refanyval para recuperar o tipo (classe) e o endereço, respectivamente.
TypeLoadException será gerado se class
não for possível encontrar. Normalmente, isso é detectado quando as instruções da MSIL (Microsoft Intermediate Language) são convertidas em código nativo em vez de em runtime.
Emit A seguinte sobrecarga de método pode usar o mkrefany
opcode: