このドキュメントはアーカイブされており、メンテナンスされていません。

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 は、次の場合にスローされます。

  • Single または Double から Decimal への変換で、変換元の値が無限、非数 (NaN)、または変換先の型で表現するには大きすぎる値の場合。

  • 明示的な参照変換の際にエラーが発生した場合。

明示的な参照変換を正常に実行するには、変換元の値が null 参照 (Visual Basic では Nothing) であるか、変換元の引数によって参照されるオブジェクト型が、暗黙の参照変換によって変換先の型に変換できることが必要です。

システムでサポートされる変換については、Convert クラスのトピックを参照してください。変換先の型が変換元の型の値を格納できる場合でも、特定の変換元の値を格納するには小さすぎるときに発生するエラーについては、OverflowException 例外のトピックを参照してください。

次に示す MSIL (Microsoft Intermediate Language) 命令は、InvalidCastException をスローします。

  • castclass

  • refanyval

  • unbox

InvalidCastException は、値 0x80004002 を保持する HRESULT COR_E_INVALIDCAST を使用します。

InvalidCastException のインスタンスの初期プロパティ値の一覧については、InvalidCastException コンストラクタのトピックを参照してください。

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

この型の public static (Visual Basicでは共有) メンバはすべて,スレッド セーフです。インスタンス メンバの場合は,スレッド セーフであるとは限りません。

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

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

.NET Compact Framework

サポート対象 : 2.0,1.0

XNA Framework

サポート対象 : 1.0
表示: