エクスポート (0) 印刷
すべて展開
この記事は機械翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 詳細情報
訳文
原文

NullReferenceException クラス

null オブジェクト参照を逆参照しようとした場合にスローされる例外。

System.Object
  System.Exception
    System.SystemException
      System.NullReferenceException

名前空間:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class NullReferenceException : SystemException

NullReferenceException 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETNullReferenceException() NullReferenceException クラスの新しいインスタンスを初期化し、その Message プロパティの値として、"オブジェクトのインスタンスを指定する必要がある部分に null 値が指定されています" などのシステム提供のエラーを指定します。このメッセージは、システムの現在のカルチャを考慮して指定します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETNullReferenceException(String)指定したエラー メッセージを使用して、NullReferenceException クラスの新しいインスタンスを初期化します。
プロテクト メソッドNullReferenceException(SerializationInfo, StreamingContext)シリアル化したデータを使用して、NullReferenceException クラスの新しいインスタンスを初期化します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETNullReferenceException(String, Exception)指定したエラー メッセージと、この例外の原因である内部例外への参照を使用して、NullReferenceException クラスの新しいインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック プロパティ汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETData例外に関する追加のユーザー定義情報を提供するキー/値ペアのコレクションを取得します。 (Exception から継承されます。)
パブリック プロパティ汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETHelpLink例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。 (Exception から継承されます。)
パブリック プロパティXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETHResult特定の例外に割り当てられているコード化数値である HRESULT を取得または設定します。 (Exception から継承されます。)
パブリック プロパティXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETInnerException現在の例外の原因となる Exception インスタンスを取得します。 (Exception から継承されます。)
パブリック プロパティXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETMessage現在の例外を説明するメッセージを取得します。 (Exception から継承されます。)
パブリック プロパティ汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETSourceエラーの原因となったアプリケーションまたはオブジェクトの名前を取得または設定します。 (Exception から継承されます。)
パブリック プロパティXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETStackTrace呼び出し履歴の直前のフレームの文字列形式を取得します。 (Exception から継承されます。)
パブリック プロパティTargetSite現在の例外がスローされたメソッドを取得します。 (Exception から継承されます。)
このページのトップへ

  名前説明
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETEquals(Object)指定のオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETFinalize オブジェクトがガベジ コレクションにより収集される前に、そのオブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETGetBaseException派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の主要な原因である Exception を返します。 (Exception から継承されます。)
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETGetHashCode既定のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッドGetObjectData派生クラスでオーバーライドされた場合は、その例外に関する情報を使用して SerializationInfo を設定します。 (Exception から継承されます。)
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETGetType現在のインスタンスのランタイム型を取得します。 (Exception から継承されます。)

XNA Framework 3.0では、このメンバーは Object.GetType() から継承されています。


汎用性のあるクラス ライブラリ 汎用性のあるクラス ライブラリでは、このメンバーは Object.GetType() から継承されています。


Windows ストア アプリ用 .NET Windows 8では、このメンバーは Object.GetType() から継承されています。
プロテクト メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETToString現在の例外の文字列形式を作成して返します。 (Exception から継承されます。)
このページのトップへ

  名前説明
プロテクト イベントSerializeObjectState例外がシリアル化され、例外に関するシリアル化されたデータを格納する例外状態オブジェクトが作成されたときに発生します。 (Exception から継承されます。)
このページのトップへ

NullReferenceException の例外は、値が nullである型のメンバーにアクセスした場合にスローされます。 次の例では、このようなシナリオの 1 つがを示すとおりです:


using System;
using System.Collections.Generic;

public class Example
{
   public static void Main(string[] args)
   {
      int value = Int32.Parse(args[0]);
      List<String> names;
      if (value > 0)
         names = new List<String>();

      names.Add("Major Major Major");       
   }
}
// Compilation displays a warning like the following:
//    Example1.vb(10) : warning BC42104: Variable //names// is used before it 
//    has been assigned a value. A null reference exception could result 
//    at runtime.
//    
//          names.Add("Major Major Major")
//          ~~~~~
// The example displays output like the following output:
//    Unhandled Exception: System.NullReferenceException: Object reference 
//    not set to an instance of an object.
//       at Example.Main()


一部のコンパイラでは、このコードをコンパイルするときに警告が発行されます。 他のユーザーはエラーを発行、コンパイルは失敗します。 値がの nullでないように、この問題を解決するには、オブジェクトをインスタンス化します。 次の例では、型のクラスのコンストラクターによってこれを実現します。


using System;
using System.Collections.Generic;

public class Example
{
   public static void Main()
   {
      List<String> names = new List<String>();
      names.Add("Major Major Major");
   }
}


一般には、NullReferenceException の例外は nullに渡されたメソッドによってスローされます。 一部のメソッドは、渡された引数を検証します。 これらは、引数の 1 つが nullの場合、メソッドは System.ArgumentNullException の例外をスローします。 それ以外の場合は NullReferenceException の例外をスローします。 このシナリオの例を次に示します。


using System;
using System.Collections.Generic;

public class Example
{
   public static void Main()
   {
      List<String> names = GetData();
      PopulateNames(names);
   }

   private static void PopulateNames(List<String> names)
   {
      String[] arrNames = { "Dakota", "Samuel", "Nikita",
                            "Koani", "Saya", "Yiska", "Yumaevsky" };
      foreach (var arrName in arrNames)
         names.Add(arrName);
   }

   private static List<String> GetData() 
   {
      return null;   

   }
}
// The example displays output like the following:
//    Unhandled Exception: System.NullReferenceException: Object reference 
//    not set to an instance of an object.
//       at Example.PopulateNames(List`1 names)
//       at Example.Main()


メソッドに渡された引数が null処理するか、または try…catch…finally スローされた例外のブロックがないことをこの問題を処理することを確認してください。 詳細については、「例外の処理とスロー」を参照してください。

次の Microsoft intermediate language (MSIL) 命令は NullReferenceExceptionをスローします: callvirtcpblkcpobjinitblkldelem.<type>ldelemaldfldldfldaldind.<type>ldlenstelem.<type>stfldstind.<type>throwunbox

NullReferenceException は、値 0x80004003 を保持する HRESULT COR_E_NULLREFERENCE を使用します。

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

.NET Framework

サポート対象 : 4.5.2、4.5.1、4.5、4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

サポート対象 : 4、3.5 SP1

汎用性のあるクラス ライブラリ

サポート対象 : 汎用性のあるクラス ライブラリ

Windows ストア アプリ用 .NET

サポート対象 : Windows 8

Windows Phone アプリ用 .NET

サポート対象 : Windows Phone 8、Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (サーバー コア ロールはサポート対象外), Windows Server 2008 R2 (SP1 以降でサーバー コア ロールをサポート。Itanium はサポート対象外)

.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

コミュニティの追加

追加
表示:
© 2014 Microsoft