AeroDawn
Legacy Member
als ik in een klasse van een programma volgende eigenschap toewijs:
public int Health
{
get { return Health; }
set
{
if (value >= 0 && value <= 100)
{ Health = value; }
else
{ throw new OverflowException("Health being assigned non-valid value."); }
}
}
en ik dan later in het programma, bv in de Main() functie een instantie van deze klasse aanmaak, en ik volgende statement toe pas om deze property een waarde toe te kennen:
SpaceShip MyShip = new SpaceShip();
MyShip.Health = 100;
dan krijg ik een runtime error StackOverFlowException. Iemand enig idee wat er hier precies gebeurt?
public int Health
{
get { return Health; }
set
{
if (value >= 0 && value <= 100)
{ Health = value; }
else
{ throw new OverflowException("Health being assigned non-valid value."); }
}
}
en ik dan later in het programma, bv in de Main() functie een instantie van deze klasse aanmaak, en ik volgende statement toe pas om deze property een waarde toe te kennen:
SpaceShip MyShip = new SpaceShip();
MyShip.Health = 100;
dan krijg ik een runtime error StackOverFlowException. Iemand enig idee wat er hier precies gebeurt?
.
!