ASP.NET - Funcion con probelmas de que no me devuelve un valor!!

 
Vista:
sin imagen de perfil
Val: 2
Ha aumentado su posición en 15 puestos en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

Funcion con probelmas de que no me devuelve un valor!!

Publicado por José (2 intervenciones) el 23/11/2018 02:05:06
Tengo un problema con esta funcion me dice que no todo el codigo me devuelve un valor!!

1
2
3
4
public static  Dominio.Personal DevuelvePersona(int pClave)
{
    pPersonal.DevuelvePersona(pClave);
}
no todas las rutas del codigo devuelven un valor

funcion..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public static Dominio.Personal DevuelvePersona(int pClave)
{
    if (!File.Exists(AppDomain.CurrentDomain.BaseDirectory + "App_Data\\" + "Personal.xml"))
    {
        return null;
    }
    else
    {
        Dominio.Personal Persona = null;
        int ciPersona = pClave;
        XmlDocument doc = pGestorXML.CargarArchivoXML(AppDomain.CurrentDomain.BaseDirectory + "App_Data\\", "Personal.xml");
        XmlNode nodoPersonal = pGestorXML.ObtenerNodoXClave(doc, "//Personal", "Ci", pClave.ToString());
        if (nodoPersonal != null)
        {
            int ci = int.Parse(nodoPersonal.ChildNodes[0].InnerText);
            string nombre = nodoPersonal.ChildNodes[1].InnerText;
            string fechaIngreso = nodoPersonal.ChildNodes[2].InnerText;
            int cobroXEvento = int.Parse(nodoPersonal.ChildNodes[3].InnerText);
 
 
            ci = int.Parse(nodoPersonal["Id"].InnerText);
            nombre = nodoPersonal["Nombre"].InnerText;
            fechaIngreso = nodoPersonal["FechaIngreso"].InnerText;
            cobroXEvento = int.Parse(nodoPersonal["CobroXEvento"].InnerText);
 
            Persona = new Dominio.Personal(ci, nombre, fechaIngreso, cobroXEvento);
        }
        return Persona;
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Funcion con probelmas de que no me devuelve un valor!!

Publicado por miguelZ (2 intervenciones) el 23/11/2018 16:08:29
Es en serio tu pregunta?

la declaracion de tu funcion es
public static Dominio.Personal DevuelvePersona(int pClave) { ...

estas diciendo que tu funcion devuelve un objeto tipo Përsonal

pero despues en tu codicion devuelves un Nulo

return null;

----------------
Si quieres regresar un nulo o un objeto debes declarar a tu metodo con Nullable

public static Nullable<Dominio.Personal> DevuelvePersona(int pClave) { ...


Saludos
Miguel Z
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo
Val: 156
Oro
Ha mantenido su posición en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

Funcion con probelmas de que no me devuelve un valor!!

Publicado por Wilfredo Patricio Castillo (62 intervenciones) el 24/11/2018 15:15:42
Pues tu función devuelve una entidad persona, PERO, como bien te dice NO está devolviendo un valor en todas las rutas y eso es verdad, fíjate que tu función solo devuelve un valor cuando está dentro del bloque if o dentro del bloque else, pero cuando sale de ese bloque no devuelve nada, acaso no te has dado cuenta de eso?.

Eso es programación elemental que deberías fijarte que la funcion debe devolverte un valor siempre al final, no solo dentro de los bloques condicionales.

Se debe manejar una sola salida al final.

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar