StackOverflowException при добавление в list<> нового экземпляра - C#
Формулировка задачи:
Здравствуйте, уважаемы! Я начал изучать c# и вообще ООП сравнительно недавно...И вот наткнулся на такую проблему...есть код
Помогите пожалуйста советом...
namespace App
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
List <person> personList = new List<person>();
personList.Add(new person("Анна", "Петрова", 15)); //Здесь ругается при добавление возраста
personList.Add(new person("Марат", "Сафин", 25));
personList.Sort();
}
}
public class person : IComparable
{
public person (string FirstName, string LastName, int age)
{
this.FirstName = FirstName;
this.LastName = LastName;
this.Age = age;
}
public person () { }
public int CompareTo (Object obj)
{
if (obj == null) throw new ArgumentException("Object is not a Person");;
person _person = (person) obj;
return this.FirstName.CompareTo(_person.FirstName);
}
public string FirstName {get; set;}
public string LastName {get; set;}
public int Age
{
get {return Age;}
set { //запустил по шагам, здесь почему-то происходит зацикливание, как следствие - StackOverflowException
if ( value < 0 ) throw new Exception ("Возраст должен быть положительным!");
if ( value == 0 ) throw new Exception ("Возраст должен быть > 0!");
Age = value;
}
}
}
}Решение задачи: «StackOverflowException при добавление в list<> нового экземпляра»
textual
Листинг программы
private int age;
public int Age
{
get {return age;}
set { //запустил по шагам, здесь почему-то происходит зацикливание, как следствие - StackOverflowException
if ( value < 0 ) throw new Exception ("Возраст должен быть положительным!");
if ( value == 0 ) throw new Exception ("Возраст должен быть > 0!");
age = value;
}
}