OpCodes.Conv_Ovf_I 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 native int
hodnotu , která vyvolá OverflowException přetečení.
public: static initonly System::Reflection::Emit::OpCode Conv_Ovf_I;
public static readonly System.Reflection.Emit.OpCode Conv_Ovf_I;
staticval mutable Conv_Ovf_I : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_Ovf_I As OpCode
Hodnota pole
Poznámky
Následující tabulka uvádí hexadecimální formát sestavení instrukce a formát sestavení MSIL (Microsoft Intermediate Language) spolu se stručným souhrnem referenčních informací:
Formát | Formát sestavení | Description |
---|---|---|
D4 | conv.ovf.i | Převeďte na native int (v zásobníku jako native int ) a při přetečení vyvoláte výjimku. |
Přechodné chování zásobníku v sekvenčním pořadí je:
value
se nasdílí do zásobníku.value
se zobrazí ze zásobníku a pokusí se o operaci převodu. Pokud dojde k přetečení, vyvolá se výjimka.Pokud je převod úspěšný, výsledná hodnota se nasdílí do zásobníku.
Opcode conv.ovf.i
převede value
horní část 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á, 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 zkušebního zásobníku rozšířeny int32
na (pokud se conv.ovf.i
nepoužívají nebo conv.ovf.u
se nepoužívají, v takovém případě je výsledek také native int
).
OverflowException je vyvolán, 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.i
opcode: