Cuál es el significado de NullReferenceException

Posible duplicado:
¿Qué es una NullReferenceException en .NET?

Por ejemplo, ” System.NullReferenceException no se manejó”, con el mensaje “La referencia del objeto no está establecida como una instancia de un objeto”.

¿Cuál es el significado de esta excepción y cómo puede resolverse?

Significa que has intentado acceder a un miembro de algo que no está allí:

 string s = null; int i = s.Length; // boom 

Solo arregla lo que es nulo. Haz que no sea nulo o realiza primero una prueba de nulo.

También hay un caso de esquina aquí relacionado con Nullable , los generics y la new restricción genérica, aunque un poco improbable (pero, ¡pero me he dado cuenta de este problema!).

Esta es la excepción más común en .NET … solo significa que intenta llamar a un miembro de una variable que no está inicializada (nula). Necesita inicializar esta variable antes de poder llamar a sus miembros

Significa que estás haciendo referencia a algo que es null , por ejemplo:

 class Test { public object SomeProp { get; set; } } new Test().SomeProp.ToString() 

SomeProp será nulo y debería lanzar una NullReferenceException . Esto generalmente se debe al código que está llamando esperando que haya algo que no esté allí.

Eso significa que ha intentado usar un método o propiedad de un objeto, cuando la variable aún no está inicializada:

 string temp; int len = temp.Length; // throws NullReferenceException; temp is null string temp2 = "some string"; int len2 = temp2.Length; // this works well; temp is a string 

El siguiente código le mostrará la excepción y una pista.

 string s = null; s = s.ToUpper(); 

En algún lugar de su código, tiene una referencia de objeto, y no está configurado para una instancia de un objeto 🙂

En algún lugar has usado un objeto sin llamar a su constructor.

lo que debes hacer

 MyClass c = new MyClass(); 

lo que has hecho:

 MyClass c; c.Blah();