Condividi tramite


OpCodes.Conv_Ovf_I8 Campo

Definizione

Converte il valore con segno all'inizio dello stack di valutazione in int64, generando un'eccezione OverflowException in caso di overflow.

public: static initonly System::Reflection::Emit::OpCode Conv_Ovf_I8;
public static readonly System.Reflection.Emit.OpCode Conv_Ovf_I8;
 staticval mutable Conv_Ovf_I8 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_Ovf_I8 As OpCode 

Valore del campo

Commenti

La tabella seguente elenca il formato dell'assembly esadecimale e Microsoft Intermediate Language (MSIL), insieme a un breve riepilogo di riferimento:

Formato Formato assembly Descrizione
B9 conv.ovf.i8 Convertire in un oggetto int64 (nello stack come int64) e generare un'eccezione sul overflow.

Il comportamento di transizione dello stack, in ordine sequenziale, è:

  1. value viene eseguito il push nello stack.

  2. value viene rimosso dallo stack e viene tentata l'operazione di conversione. Se si verifica un overflow, viene generata un'eccezione.

  3. Se la conversione ha esito positivo, il valore risultante viene eseguito il push nello stack.

Il conv.ovf.i8 codice opcode converte l'oggetto value nella parte superiore dello stack nel tipo specificato nel codice opcode e inserisce il valore convertito nella parte superiore dello stack. Se il valore è troppo grande o troppo piccolo da rappresentare dal tipo di destinazione, viene generata un'eccezione.

Conversioni da numeri a virgola mobile a valori interi troncano il numero verso zero. Si noti che i valori interi di meno di 4 byte vengono estesi a int32 quando vengono caricati nello stack di valutazione (a meno conv.ovf.i che non vengano usati o conv.ovf.u usati, nel qual caso il risultato è anche native int).

OverflowException viene generato se il risultato non può essere rappresentato nel tipo di risultato.

L'overload del metodo seguente Emit può usare il conv.ovf.i8 codice opcode:

Si applica a