There is a code:
using System; namespace Acces_control { public class Worker : Human { public int work_experience { get { return work_experience; } set { if ((value <= 90) && (value >= 0)) { work_experience = value; } else { throw new ArgumentOutOfRangeException(); } } } public string ZoneOfWork { get { return ZoneOfWork; } set { ZoneOfWork = value; } } public Worker() { work_experience = 0; ZoneOfWork = "NA"; } } } PS: the Human class contains just a couple of variables of type Name and LastName When I change the work_experience variable:
var worker = new Worker(); worker.work_experience = 10; I get the following error:
Stack overflow: IP: 0x4018a914, fault addr: 0x7ffefce96ff0 Stacktrace: at Acces_control.Worker.set_work_experience (int) [0x00013] in /home/vasya/Programming/C#/Tests/Classes/Acces_control/Worker.cs:11 <...> at Acces_control.Worker..ctor () [0x00009] in /home/vasya/Programming/C#/Tests/Classes/Acces_control/Worker.cs:25 at Acces_control.MainClass.Main (string[]) [0x00001] in /home/vasya/Programming/C#/Tests/Classes/Acces_control/Program.cs:9 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <IL 0x00058, 0xffffffff> Press any key to continue...