OpCodes.Conv_Ovf_I1 Pole

Definice

Převede podepsanou hodnotu nad zkušební zásobník na podepsanou int8 a rozšíří ji na int32hodnotu , která OverflowException vyvolá přetečení.

C#
public static readonly System.Reflection.Emit.OpCode Conv_Ovf_I1;

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
B3 conv.ovf.i1 Převeďte na objekt int8 (v zásobníku jako int32) a při přetečení vyvoláte výjimku.

Přechodné chování zásobníku v sekvenčním pořadí je:

  1. value se nasdílí do zásobníku.

  2. value se zobrazí ze zásobníku a pokusí se o operaci převodu. Pokud dojde k přetečení, vyvolá se výjimka.

  3. Pokud je převod úspěšný, výsledná hodnota se nasdílí do zásobníku.

Opcode conv.ovf.i1 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.i1 opcode:

Platí pro

Produkt Verze
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0