Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe NullReferenceException

Eccezione generata quando viene effettuato un tentativo di dereferenziare un oggetto null.

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

Spazio dei nomi:  System
Assembly:  mscorlib (in mscorlib.dll)

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

Il tipo NullReferenceException espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreNullReferenceException()Inizializza una nuova istanza della classe NullReferenceException, impostando la proprietà Message della nuova istanza su un messaggio fornito dal sistema in cui viene descritto l'errore, indicando ad esempio che è stato utilizzato un valore null dove era prevista un'istanza di un oggetto. Il messaggio viene visualizzato nelle impostazioni cultura correnti del sistema.
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreNullReferenceException(String)Inizializza una nuova istanza della classe NullReferenceException con un messaggio di errore specificato.
Metodo protettoNullReferenceException(SerializationInfo, StreamingContext)Inizializza una nuova istanza della classe NullReferenceException con dati serializzati.
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreNullReferenceException(String, Exception)Consente l'inizializzazione di una nuova istanza della classe NullReferenceException con un messaggio di errore specificato e un riferimento all'eccezione interna che è la causa dell'eccezione corrente.
In alto

  NomeDescrizione
Proprietà pubblicaSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreData Ottiene una collezione di coppie chiave/valore che forniscono ulteriori informazioni definite dall'utente sull'eccezione. (Ereditato da Exception)
Proprietà pubblicaSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreHelpLinkOttiene o imposta un collegamento al file della Guida associato all'eccezione. (Ereditato da Exception)
Proprietà pubblicaSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreHResult Ottiene o imposta HRESULT, un valore numerico codificato che viene assegnato ad una specifica eccezione. (Ereditato da Exception)
Proprietà pubblicaSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreInnerExceptionOttiene l'istanza di Exception che ha causato l'eccezione corrente. (Ereditato da Exception)
Proprietà pubblicaSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreMessageOttiene un messaggio che descrive l'eccezione corrente. (Ereditato da Exception)
Proprietà pubblicaSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreSourceOttiene o imposta il nome dell'oggetto o dell'applicazione che ha generato l'errore. (Ereditato da Exception)
Proprietà pubblicaSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreStackTrace Ottiene una rappresentazione in forma di stringa dei frame nello stack di chiamate. (Ereditato da Exception)
Proprietà pubblicaTargetSite Ottiene il metodo che ha generato l'eccezione corrente. (Ereditato da Exception)
In alto

  NomeDescrizione
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo protettoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetBaseExceptionSe utilizzato come metodo di override in una classe derivata, restituisce l'Exception che è la causa radice di una o più eccezioni successive. (Ereditato da Exception)
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoGetObjectDataQuando l'override viene eseguito in una classe derivata, imposta il controllo SerializationInfo per la colonna. (Ereditato da Exception)
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetTypeOttiene il tipo di runtime dell'istanza corrente. (Ereditato da Exception)

In XNA Framework 3.0 questo membro viene ereditato da Object.GetType().


In Libreria di classi portabile Libreria di classi portabile questo membro viene ereditato da Object.GetType().


In .NET per applicazioni Windows Store Windows 8 questo membro viene ereditato da Object.GetType().
Metodo protettoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreToStringCrea e restituisce una rappresentazione in forma di stringa della corrente eccezione. (Ereditato da Exception)
In alto

  NomeDescrizione
Evento protettoSerializeObjectStateSi verifica quando un'eccezione viene serializzata per creare un oggetto stato di eccezione che contiene dati serializzati sull'eccezione. (Ereditato da Exception)
In alto

Un'eccezione NullReferenceException viene generata quando si tenta di accedere a un membro di un tipo il cui valore è null. Nell'esempio riportato di seguito viene illustrato un possibile scenario:


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()


Alcuni compilatori generano un avviso quando si compila il codice. Altri generano un errore e la compilazione fallisce. Per risolvere questo problema, creare un'istanza dell'oggetto in modo che il valore non sia più null. L'esempio seguente esegue questa operazione chiamando il costruttore della classe di un tipo.


using System;
using System.Collections.Generic;

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


In genere, viene generata un'eccezione NullReferenceException da un metodo a cui viene passato null. Alcuni metodi eseguono la validazione degli argomenti che gli vengono passati. Se eseguono la validazione e uno degli argomenti è null, il metodo genera un'eccezione System.ArgumentNullException. In caso contrario, il metodo genererà un'eccezione NullReferenceException. Nell'esempio riportato di seguito viene illustrato questo scenario.


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()


Per risolvere questo problema, assicurarsi che l'argomento passato al metodo non sia null, o gestire l'eccezione generata in un blocco try…catch…finally. Per ulteriori informazioni, vedere Gestione e generazione di eccezioni.

Le seguenti istruzioni MSIL (Microsoft Intermediate Language) generano NullReferenceException: callvirt, cpblk, cpobj, initblk, ldelem.<type>, ldelema, ldfld, ldflda, ldind.<type>, ldlen, stelem.<type>, stfld, stind.<type>, throw e unbox.

NullReferenceException utilizza HRESULT COR_E_NULLREFERENCE, con valore 0x80004003.

Per un elenco dei valori iniziali di proprietà per un'istanza di NullReferenceException, vedere i costruttori NullReferenceException.

.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Store

Supportato in: Windows 8

.NET per applicazioni Windows Phone

Supportato in: 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 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft