OpCodes.Conv_Ovf_I 字段

将位于计算堆栈顶部的有符号值转换为有符号 natural int,并在溢出时引发 OverflowException

**命名空间:**System.Reflection.Emit
**程序集:**mscorlib(在 mscorlib.dll 中)

语法

声明
Public Shared ReadOnly Conv_Ovf_I As OpCode
用法
Dim value As OpCode

value = OpCodes.Conv_Ovf_I
public static readonly OpCode Conv_Ovf_I
public:
static initonly OpCode Conv_Ovf_I
public static final OpCode Conv_Ovf_I
public static final var Conv_Ovf_I : OpCode

备注

下表列出了指令的十六进制和 Microsoft 中间语言 (MSIL) 汇编格式,以及简短的参考摘要:

格式

汇编格式

说明

D4

conv.ovf.i

转换为 natural int(在堆栈上为 natural int)并在溢出时引发异常。

堆栈转换行为依次为:

  1. value 被推送到堆栈上。

  2. 从堆栈中弹出 value,然后尝试执行转换操作。如果发生溢出,则引发异常。

  3. 如果转换成功,则将结果值推送到堆栈上。

conv.ovf.i 操作码将位于堆栈顶部的 value 转换为在操作码中指定的类型,然后将转换后的值放在堆栈顶部。如果该值太大或太小而无法由目标类型表示,则会引发异常。

从浮点数向整数值的转换将向零截断数字。请注意,将小于 4 个字节的整数值加载到计算堆栈时,会将它们扩展为 int32(除非使用 conv.ovf.iconv.ovf.u,这种情况下结果也是 natural int)。

如果结果无法用结果类型表示,则会引发 OverflowException

下面的 Emit 方法重载可以使用 conv.ovf.i 操作码:

  • ILGenerator.Emit(OpCode)

平台

Windows 98、Windows 2000 SP4、Windows Millennium Edition、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

OpCodes 类
OpCodes 成员
System.Reflection.Emit 命名空间