Teilen über


OpCodes.Conv_Ovf_I2 Feld

Definition

Konvertiert den Wert mit Vorzeichen an oberster Position des Auswertungsstapels in int16 mit Vorzeichen und erweitert ihn auf int32. Bei einem Überlauf wird eine OverflowException ausgelöst.

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 

Feldwert

Hinweise

In der folgenden Tabelle sind das Hexadezimal- und MSIL-Assemblyformat (Microsoft Intermediate Language) der Anweisung sowie eine kurze Referenzzusammenfassung aufgeführt:

Format Assemblyformat BESCHREIBUNG
B5 conv.ovf.i2 Konvertieren Sie in ein int16 (im Stapel als int32), und lösen Sie eine Ausnahme beim Überlauf aus.

Das Stapelübergangsverhalten in sequenzieller Reihenfolge lautet:

  1. value wird auf den Stapel geschoben.

  2. value wird aus dem Stapel geknallt, und der Konvertierungsvorgang wird versucht. Wenn ein Überlauf auftritt, wird eine Ausnahme ausgelöst.

  3. Wenn die Konvertierung erfolgreich ist, wird der resultierende Wert auf den Stapel gepusht.

Opcode conv.ovf.i2 konvertiert den oben auf dem value Stapel in den im Opcode angegebenen Typ und platziert diesen konvertierten Wert am anfang des Stapels. Wenn der Wert zu groß oder zu klein ist, um durch den Zieltyp dargestellt zu werden, wird eine Ausnahme ausgelöst.

Konvertierungen von Gleitkommazahlen in ganzzahlige Werte kürzen die Zahl in Richtung 0 ab. Beachten Sie, dass ganzzahlige Werte von weniger als 4 Bytes auf int32 erweitert werden, wenn sie in den Auswertungsstapel geladen werden (es sei denn conv.ovf.i , oder conv.ovf.u werden verwendet, in diesem Fall ist das Ergebnis auch native int).

OverflowException wird ausgelöst, wenn das Ergebnis nicht im Ergebnistyp dargestellt werden kann.

Die folgende Emit Methodenüberladung kann den conv.ovf.i2 opcode verwenden:

Gilt für: