OpCodes.Conv_Ovf_I1 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.
Converte o valor com sinal no topo da pilha de avaliação em int8
com sinal e estende-o para int32
, gerando OverflowException no estouro.
public: static initonly System::Reflection::Emit::OpCode Conv_Ovf_I1;
public static readonly System.Reflection.Emit.OpCode Conv_Ovf_I1;
staticval mutable Conv_Ovf_I1 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_Ovf_I1 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 |
---|---|---|
B3 | conv.ovf.i1 | Converta em um int8 (na pilha como int32 ) e gere uma exceção no estouro. |
O comportamento de transição da pilha, em ordem sequencial, é:
value
é enviado por push para a pilha.value
é exibido da pilha e a operação de conversão é tentada. Se ocorrer estouro, uma exceção será gerada.Se a conversão for bem-sucedida, o valor resultante será enviado por push para a pilha.
O conv.ovf.i1
opcode converte o value
na parte superior da pilha para o tipo especificado no opcode e coloca o valor convertido na parte superior da pilha. Se o valor for muito grande ou muito pequeno para ser representado pelo tipo de destino, uma exceção será gerada.
Conversões de números de ponto flutuante em valores inteiros truncam o número em direção a zero. Observe que valores inteiros de menos de 4 bytes são estendidos para int32
quando são carregados na pilha de avaliação (a menos que ou conv.ovf.u
sejam usadosconv.ovf.i
, nesse caso, o resultado também native int
é ).
OverflowException será gerado se o resultado não puder ser representado no tipo de resultado.
A sobrecarga do método Emit a seguir pode usar o conv.ovf.i1
opcode: