validar una referencia parĂ¡metro objeto not nombre instancia establecida error como cadena c# asp.net yellow-screen-of-death

una - system.nullreferenceexception c#



NullReferenceException en objeto instanciado? (4)

Este es un segmento de código de una aplicación que heredé, un usuario obtuvo una pantalla amarilla de muerte:

Referencia a objeto no establecida como instancia de un objeto

en la línea:

bool l_Success ...

Ahora estoy 95% seguro de que el argumento defectuoso es ref l_Monitor que es muy extraño teniendo en cuenta que el objeto se instancia algunas líneas antes. Alguien tiene una pista de por qué sucedería? Tenga en cuenta que he visto aparecer el mismo problema en otros lugares del código.

IDMS.Monitor l_Monitor = new IDMS.Monitor(); l_Monitor.LogFile.Product_ID = "SE_WEB_APP"; if (m_PermType_RadioButtonList.SelectedIndex == -1) { l_Monitor.LogFile.Log( Nortel.IS.IDMS.LogFile.MessageTypes.ERROR, "No permission type selected" ); return; } bool l_Success = SE.UI.Utilities.GetPermissionList( ref l_Monitor, ref m_CPermissions_ListBox, (int)this.ViewState["m_Account_Share_ID"], (m_PermFolders_DropDownList.Enabled) ? m_PermFolders_DropDownList.SelectedItem.Value : "-1", (SE.Types.PermissionType)m_PermType_RadioButtonList.SelectedIndex, (SE.Types.PermissionResource)m_PermResource_RadioButtonList.SelectedIndex);


¿Estás seguro de que una de las propiedades que intenta acceder en la instancia de l_Monitor no es nula?


Espolvoree algunas variables para todas las consultas de propiedades en esa línea (loooooongg) temporalmente. Ejecute el depurador, compruebe los valores y Corner el pequeño error.


Me inclino a estar de acuerdo con los demás; suena como uno de los parámetros que está pasando SE.UI.Utilities.GetPermissionList es nulo, lo que está causando la excepción. Su mejor apuesta es activar el depurador y verificar las variables antes de que se llame al código.


La NullReferenceException se lanzó realmente dentro de un bloque catch para que el seguimiento de la pila no pudiera mostrar esa línea de código, por lo que se detuvo en la persona que llama.

De hecho, fue una de las propiedades de la instancia de l_Monitor .