OpCodes.Isinst Campo
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Testa se uma referência de objeto (tipo O) é uma instância de uma classe particular.
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
Observações
A tabela seguinte lista o formato hexadecimal e assembly da Microsoft Intermediate Language (MSIL) da instrução, juntamente com um breve resumo de referência:
| Formato | Formato de Montagem | Descrição |
|---|---|---|
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, por ordem sequencial, é:
Uma referência de objeto é empurrada para a pilha.
A referência do objeto é extraída da pilha e testada para verificar se é uma instância da classe passada em
class.O resultado (seja uma referência de objeto ou uma referência nula) é empurrado para a pilha.
Class é um token de metadados que indica a classe desejada. Se a classe do objeto no topo da pilha implementar class (se class for uma interface) ou for uma classe derivada de class (se class for uma classe regular), então ela é lançada para o tipo class e o resultado é empurrado para a pilha, exatamente como Castclass se tivesse sido chamado. Caso contrário, uma referência nula é empurrada para a pilha. Se a própria referência ao objeto for uma referência nula, então isinst também devolve uma referência nula.
TypeLoadException é lançado se a classe não for encontrada. Isto é tipicamente detetado quando as instruções da Microsoft Intermediate Language (MSIL) são convertidas para código nativo em vez de em tempo de execução.
O seguinte Emit método de sobrecarga pode usar o isinst opcode: