Das ist mein Eigentum auf meinem Code:Warum bekomme ich diese "Endlosschleife" auf Klasseneigenschaften?
public KPage Padre
{
get
{
if (k_oPagina.father != null)
{
this.Padre = new KPage((int)k_oPagina.father);
}
else
{
this.Padre = null;
}
return this.Padre;
}
set { }
}
aber es sagt:
Eine nicht behandelte Ausnahme des Typs 'System.StackOverflowException' in App_Code.rhj3qeaw.dll aufgetreten
Warum? Wie kann ich es reparieren?
EDIT
Nachdem der Code richtig, das ist mein eigentlicher Code:
private KPage PadreInterno;
public KPage Padre
{
get
{
if (PadreInterno == null)
{
if (paginaDB.father != null)
{
PadreInterno = new KPage((int)paginaDB.father);
}
else
{
PadreInterno= null;
}
}
return PadreInterno;
}
}
Was denken Sie da?
Was 'sonst {PadreInterno = null; } 'Gut für im korrigierten Code? Sie rufen diesen Code nur dann auf, wenn 'PadreInterno' auf jeden Fall' null' ist: 'if (PadreInterno == null)'. Vereinfachen Sie das wie folgt: if (PadreInterno == null && paginaDB.father! = Null) {PadreInterno = neue KPage ((int) paginaDB.father); } return PadreInterno; ' –