OpCodes.Castclass 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.
Tenta converter um objeto passado 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 do campo
- Atributos
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 |
---|---|---|
74 <T > |
castclass class |
Converte um objeto em um novo objeto do tipo class . |
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; o objeto referenciado é convertido como o especificado
class
.Se tiver êxito, uma nova referência de objeto será enviada por push para a pilha.
A castclass
instrução tenta converter a referência de objeto (tipo O
) sobre a pilha em uma classe especificada. A nova classe é especificada por um token de metadados que indica a classe desejada. Se a classe do objeto na parte superior da pilha não implementar a nova classe (supondo que a nova classe seja uma interface) e não for uma classe derivada da nova classe, uma InvalidCastException será gerada. Se a referência de objeto for uma referência nula, castclass
terá êxito e retornará o novo objeto como uma referência nula.
InvalidCastException será gerado se obj não puder ser convertido em classe.
TypeLoadException será gerado se a classe não puder ser encontrada. Isso normalmente é detectado quando uma instrução MSIL (Microsoft Intermediate Language) é convertida em código nativo em vez de em runtime.
Emit A seguinte sobrecarga de método pode usar o castclass
opcode: