Compartilhar via


OpCodes.Conv_Ovf_I2 Campo

Definição

Converte o valor com sinal no topo da pilha de avaliação em int16 com sinal e estendendo-o para int32, gerando OverflowException no estouro.

public: static initonly System::Reflection::Emit::OpCode Conv_Ovf_I2;
public static readonly System.Reflection.Emit.OpCode Conv_Ovf_I2;
 staticval mutable Conv_Ovf_I2 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_Ovf_I2 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
B5 conv.ovf.i2 Converta em um int16 (na pilha como int32) e gere uma exceção no estouro.

O comportamento de transição da pilha, em ordem sequencial, é:

  1. value é enviado por push para a pilha.

  2. value é exibido da pilha e a operação de conversão é tentada. Se ocorrer estouro, uma exceção será gerada.

  3. Se a conversão for bem-sucedida, o valor resultante será enviado por push para a pilha.

O conv.ovf.i2 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.i2 opcode:

Aplica-se a