本文档已存档,并且将不进行维护。

InvalidCastException 类

因无效类型转换或显式转换引发的异常。

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

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public class InvalidCastException : SystemException
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public class InvalidCastException extends SystemException
SerializableAttribute 
ComVisibleAttribute(true) 
public class InvalidCastException extends SystemException
不适用。

如果发生如下情况,则引发 InvalidCastException

  • 对于从 SingleDoubleDecimal 的转换,源值为无穷大、非数字 (NaN) 或太大以至无法表示为目标类型。

  • 显式引用转换期间发生失败。

为使显式引用转换成功进行,源值必须为 空引用(在 Visual Basic 中为 Nothing),或者源参数引用的对象类型必须可以通过隐式引用转换来转换为目标类型。

有关系统所支持的转换的信息,请参见 Convert 类。有关当目标类型可以存储源类型值,但其大小不足以存储特定源值时所发生的错误,请参见 OverflowException 异常。

下面的 Microsoft 中间语言 (MSIL) 指令引发 InvalidCastException

  • castclass

  • refanyval

  • unbox

InvalidCastException 使用值为 0x80004002 的 HRESULT COR_E_INVALIDCAST。

有关 InvalidCastException 实例的初始属性值列表,请参见 InvalidCastException 构造函数。

System.Object
   System.Exception
     System.SystemException
      System.InvalidCastException

此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

Windows Vista、Microsoft Windows XP SP2 和 Windows Server 2003 SP1 支持 Microsoft .NET Framework 3.0。

.NET Framework

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

.NET Compact Framework

受以下版本支持:2.0、1.0

XNA Framework

受以下版本支持:1.0
显示: