OpCodes.Castclass 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.
Tentativas de lançar um objeto passadas por referência à classe especificada.
public: static initonly System::Reflection::Emit::OpCode Castclass;
public static readonly System.Reflection.Emit.OpCode Castclass;
[System.Runtime.InteropServices.ComVisible(true)]
public static readonly System.Reflection.Emit.OpCode Castclass;
staticval mutable Castclass : System.Reflection.Emit.OpCode
[<System.Runtime.InteropServices.ComVisible(true)>]
staticval mutable Castclass : System.Reflection.Emit.OpCode
Public Shared ReadOnly Castclass As OpCode
Valor de Campo
- Atributos
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 | Description |
|---|---|---|
74 <T> |
Classe de elenco class |
Transforma um objeto num novo objeto do tipo class. |
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; o objeto referenciado é lançado como o especificado
class.Se for bem-sucedido, uma nova referência de objeto é empurrada para a pilha.
A castclass instrução tenta lançar a referência do objeto (tipo O) no topo da pilha para uma classe especificada. A nova classe é especificada por um token de metadados que indica a classe desejada. Se a classe do objeto no topo da pilha não implementar a nova classe (assumindo que a nova classe é uma interface) e não for uma classe derivada da nova classe, então um InvalidCastException é lançado. Se a referência do objeto for uma referência nula, castclass tem sucesso e devolve o novo objeto como referência nula.
InvalidCastException é lançado se o obj não puder ser lançado para a classe.
TypeLoadException é lançado se a classe não for encontrada. Isto é tipicamente detetado quando uma instrução da Microsoft Intermediate Language (MSIL) é convertida para código nativo em vez de em tempo de execução.
O seguinte Emit método de sobrecarga pode usar o castclass opcode: