OpCodes.Isinst Campo

Definição

Testa se uma referência de objeto (tipo O) é uma instância de uma classe específica.

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 do campo

Comentários

A tabela a seguir lista o formato de assembly hexadecimal e Microsoft linguagem intermediária (MSIL) da instrução, juntamente com um breve resumo de referência:

Formato Formato de assembly Description
75 <T> isinst class Testa se uma referência de objeto é uma instância de class, retornando uma referência nula ou uma instância dessa classe ou interface.

O comportamento de transição da pilha, em ordem sequencial, é:

  1. Uma referência de objeto é enviada por push para a pilha.

  2. A referência de objeto é exibida da pilha e testada para ver se é uma instância da classe passada.class

  3. O resultado (uma referência de objeto ou uma referência nula) é enviado por push para a pilha.

Class é um token de metadados que indica a classe desejada. Se a classe do objeto na parte superior da pilha for implementada class (se class for uma interface) ou for uma classe derivada de class (se class for uma classe regular), ela será convertida para digitar class e o resultado será enviado por push na pilha, exatamente como se Castclass tivesse sido chamado. Caso contrário, uma referência nula será enviada por push na pilha. Se a referência de objeto em si for uma referência nula, retornará isinst uma referência nula da mesma forma.

TypeLoadException será gerado se a classe não puder ser encontrada. Normalmente, isso é detectado quando as instruções Microsoft Linguagem Intermediária (MSIL) são convertidas em código nativo em vez de em runtime.

A sobrecarga do método Emit a seguir pode usar o isinst opcode:

Aplica-se a