OpCodes.Isinst 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.
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 MSIL (Microsoft Intermediate Language) da instrução, juntamente com um breve resumo de referência:
Formatar | Formato de assembly | Descrição |
---|---|---|
75 <T > |
isinst class |
Testa se uma referência de objeto é uma instância do class , retornando uma referência nula ou uma instância dessa classe ou interface. |
O comportamento de transição da pilha, em ordem sequencial, é:
Uma referência de objeto é enviada por push para a pilha.
A referência de objeto é exibida da pilha e testada para ver se é uma instância da classe passada em
class
.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 implementar class
(se class
for uma interface) ou for uma classe derivada de class
(se class
for uma classe regular), ela será convertida no tipo 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, a isinst
mesma retornará uma referência nula.
TypeLoadException será gerado se a classe não puder ser encontrada. Isso normalmente é 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 isinst
opcode: