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)并在溢出时引发异常。 |
堆栈转换行为依次为:
value 被推送到堆栈上。
从堆栈中弹出 value,然后尝试执行转换操作。如果发生溢出,则引发异常。
如果转换成功,则将结果值推送到堆栈上。
conv.ovf.i 操作码将位于堆栈顶部的 value 转换为在操作码中指定的类型,然后将转换后的值放在堆栈顶部。如果该值太大或太小而无法由目标类型表示,则会引发异常。
从浮点数向整数值的转换将向零截断数字。请注意,将小于 4 个字节的整数值加载到计算堆栈时,会将它们扩展为 int32(除非使用 conv.ovf.i 或 conv.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