OpCodes.Conv_Ovf_I2 Pole
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Převede podepsanou hodnotu nad zásobníkem vyhodnocení na podepsanou int16
a rozšíří ji na int32
hodnotu , která OverflowException vyvolá přetečení.
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
Hodnota pole
Poznámky
Následující tabulka uvádí šestnáctkový formát sestavení instrukce a formát sestavení MSIL (Microsoft Intermediate Language) spolu se stručným přehledem referencí:
Formát | Formát sestavení | Description |
---|---|---|
B5 | conv.ovf.i2 | Převod na ( int16 v zásobníku jako int32 ) a vyvolání výjimky při přetečení. |
Přechodné chování zásobníku v sekvenčním pořadí je:
value
se nasdílí do zásobníku.value
vyskočil ze zásobníku a došlo k pokusu o operaci převodu. Pokud dojde k přetečení, vyvolá se výjimka.Pokud je převod úspěšný, výsledná hodnota se vloží do zásobníku.
Opcode conv.ovf.i2
převede value
objekt v horní části zásobníku na typ zadaný v opcode a umístí převedenou hodnotu do horní části zásobníku. Pokud je hodnota příliš velká nebo příliš malá na to, aby byla reprezentována cílovým typem, vyvolá se výjimka.
Převody z čísel s plovoucí desetinou čárkou na celočíselné hodnoty zkracují číslo směrem k nule. Všimněte si, že celočíselné hodnoty menší než 4 bajty jsou při načtení do vyhodnocovacího zásobníku rozšířeny int32
na (pokud se conv.ovf.i
nepoužívají nebo conv.ovf.u
nejsou použity, v takovém případě je výsledek také native int
).
OverflowException vyvolá se, pokud výsledek nemůže být reprezentován v typu výsledku.
Následující Emit přetížení metody může použít conv.ovf.i2
opcode: